基于Spring5实现登录注册功能

 更新时间:2022年09月06日 11:23:52   作者:用编程改改自己吧  
这篇文章主要为大家详细介绍了基于Spring5实现登录注册功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下

准备:

根据分析用户注册登录都需要的信息为
①username(String)
②userid(Int)
③userpassword(String)
④useremail(String)

1.生成数据库、表

2.编写实体类

import org.springframework.stereotype.Component;
@Component
public class User {
    private String UserName;
    private int UserId;
    private String UserPassWord;
    private String UserEmail;

    public User(String userName, int userId, String userPassWord, String userEmail) {
        UserName = userName;
        UserId = userId;
        UserPassWord = userPassWord;
        UserEmail = userEmail;
    }

    public User() {
    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public int getUserId() {
        return UserId;
    }

    public void setUserId(int userId) {
        UserId = userId;
    }

    public String getUserPassWord() {
        return UserPassWord;
    }

    public void setUserPassWord(String userPassWord) {
        UserPassWord = userPassWord;
    }

    public String getUserEmail() {
        return UserEmail;
    }

    public void setUserEmail(String userEmail) {
        UserEmail = userEmail;
    }
}

3.配置xml文件(jdbcTemplate注入到dao层中)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <!--扫描包-->
    <context:component-scan base-package="MyPackage"></context:component-scan>
    <!--数据库连接池-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
        <property name="url" value="jdbc:mysql://localhost:3306/review"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
    </bean>
    <!--配置JdbcTemplate对象,把数据库dataSource注入进去-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <!--要把数据库注入到JdbcTemplate对象中-->
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!--到了这一步我们就连接好了数据库了-->
</beans>

4.编写Userdao(dao层)

import MyPackage.pojo.User;
import org.springframework.stereotype.Component;
@Component
public interface UserDao {
    void Register(User user);

    User login(Integer id);
}

UserDaoImpl类

ckage.dao;

import MyPackage.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

@Component
public class UserDaoImpl implements UserDao{

    @Autowired
    JdbcTemplate jdbcTemplate;//自动注入数据库

    @Override
    public void Register(User user) {
        String sql = "insert into t_user (`username`,`userid`,`userpassword`,`useremail`)" +
                "values(?,?,?,?)";
        Object[] args = {user.getUserName(), user.getUserId(), user.getUserPassWord(), user.getUserEmail()};
        int update = jdbcTemplate.update(sql,args);
        System.out.println("注册成功:"+update);
    }

    @Override
    public User login(Integer id) {
        String sql = "select *from t_user where `userid`=?";
        User user1 = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id);
        return user1;
    }
}

5.编写service层

import MyPackage.dao.UserDao;
import MyPackage.dao.UserDaoImpl;
import MyPackage.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service(value = "userService")
public class UserService {
    @Autowired
    public UserDao userDao;
    //用户注册
    public void Register(User user){
        System.out.println("Service Register.....");
        userDao.Register(user);
    }

    //用户登录
    public void Login(User user){
        System.out.println("Service Login.....");
        User loginsuccess = userDao.login(user.getUserId());
        if (loginsuccess!=null)
            System.out.println("登录成功");
        else
            System.out.println("登录失败");
    }
}

6.测试

import MyPackage.pojo.User;
import MyPackage.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    //注册功能测试
    @org.junit.Test
    public void testJdbcTemplate1(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = (UserService) context.getBean("userService", UserService.class);
//        userService.Register(new User("mary",2,"654321","654321@qq.com"));
        userService.Register(new User("lucy",1,"123456","123456@qq.com"));
    }
    //登录功能测试
    @org.junit.Test
    public void testJdbcTemplate2() {
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = (UserService) context.getBean("userService", UserService.class);
        userService.Login(new User("lucy",1,"123456","123456@qq.com"));
    }
}

运行截图

遇到的问题:

刚开始把bean1.xml配置文件直接是在src目录下生成的,所以当运行时,就会发现找不到xml文件
解决方法:

在main目录下新建一个resources文件,且把该文件变成Resources类型,然后把bean1.xml放入在这里就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java文件上传下载功能实现代码

    java文件上传下载功能实现代码

    这篇文章主要为大家详细介绍了java文件上传下载功能实现代码,具有一定的参考价值,感兴趣的朋友可以参考一下
    2016-06-06
  • java服务端微信APP支付接口详解

    java服务端微信APP支付接口详解

    这篇文章主要为大家详细介绍了java服务端微信APP支付接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • SpringMVC的详细架构你了解嘛

    SpringMVC的详细架构你了解嘛

    这篇文章主要为大家介绍了SpringMVC的详细架构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 浅析Java自定义注解的用法

    浅析Java自定义注解的用法

    注解为我们在代码中添加信息提供一种形式化的方法,使我们可以在源码、编译时、运行时非常方便的使用这些数据。本文主要为大家介绍了Java自定义注解的用法,希望对大家有所帮助
    2023-03-03
  • Spring IOC注入的两种方式详解以及代码示例

    Spring IOC注入的两种方式详解以及代码示例

    在Spring框架中,依赖注入(Dependency Injection,DI)是通过控制反转(Inversion of Control,IOC)实现的,Spring提供了多种方式来实现IOC注入,本文就给大家介绍两种注入的方式:基于XML和基于注解,文中有详细的代码示例,需要的朋友可以参考下
    2023-08-08
  • java实现Dijkstra最短路径算法

    java实现Dijkstra最短路径算法

    这篇文章主要为大家详细介绍了java实现Dijkstra最短路径算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Java 创建URL的常见问题及解决方案

    Java 创建URL的常见问题及解决方案

    这篇文章主要介绍了Java 创建URL的常见问题及解决方案的相关资料,需要的朋友可以参考下
    2016-10-10
  • java objectUtils 使用可能会出现的问题

    java objectUtils 使用可能会出现的问题

    这篇文章主要介绍了java objectUtils 使用可能会出现的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java之swing实现复选框的方法

    java之swing实现复选框的方法

    这篇文章主要介绍了java之swing实现复选框的方法,实例分析了java基于图形界面复选框的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • springboot如何通过URL方式访问外部资源

    springboot如何通过URL方式访问外部资源

    这篇文章主要介绍了springboot如何通过URL方式访问外部资源,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论