• SpringBoot笔记——登录


    新建项目

     点next然后勾选Spring Web

     创建完成后,测试是否创建成功

    找到BackenzhuceApplication运行

     
    

     

     然后在网页上输入  127.0.0.1:8080  或者 localhost:8080 ,出现下面情况说明项目创建成功。

     

    更改默认端口(因为默认端口是8080,容易冲突)

     

    在SpringBoot中解决跨域问题(一般这种文件都放在config下)

    添加配置类:CorsConfig

    1. package com.example.backenzhuce.config;
    2. import org.springframework.context.annotation.Configuration;
    3. import javax.servlet.*;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. @Configuration
    8. public class CorsConfig implements Filter {
    9. @Override
    10. public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    11. HttpServletResponse response = (HttpServletResponse) res;
    12. HttpServletRequest request = (HttpServletRequest) req;
    13. String origin = request.getHeader("Origin");
    14. if(origin!=null) {
    15. response.setHeader("Access-Control-Allow-Origin", origin);
    16. }
    17. String headers = request.getHeader("Access-Control-Request-Headers");
    18. if(headers!=null) {
    19. response.setHeader("Access-Control-Allow-Headers", headers);
    20. response.setHeader("Access-Control-Expose-Headers", headers);
    21. }
    22. response.setHeader("Access-Control-Allow-Methods", "*");
    23. response.setHeader("Access-Control-Max-Age", "3600");
    24. response.setHeader("Access-Control-Allow-Credentials", "true");
    25. chain.doFilter(request, response);
    26. }
    27. @Override
    28. public void init(FilterConfig filterConfig) {
    29. }
    30. @Override
    31. public void destroy() {
    32. }
    33. }

    连接数据库

    先点右上角的Database,然后点加号

     

     选择Mysql

    连接用户名为root,密码为123456 

     

    然后选着默认框架

     

     最后点Test Connection ,出现Succeeded就成功了

     

    配置Spring boot

     Maven仓库地址

    Maven Repository: Search/Browse/Explore (mvnrepository.com)icon-default.png?t=M85Bhttps://mvnrepository.com/ MyBaits-Plus官网:

     MyBatis-Plus (baomidou.com)

    在pom.xml文件中添加依赖:
    Spring Boot Starter JDBC
    Project Lombok
    MySQL Connector/J
    mybatis-plus-boot-starter
    mybatis-plus-generator
    spring-boot-starter-security
    jjwt-api
    jjwt-impl
    jjwt-jackson

     

     

     将这些代码放到pom中

     

     

    在application.properties中添加数据库配置:

    1. spring.datasource.username=root
    2. spring.datasource.password=123456
    3. spring.datasource.url=jdbc:mysql://localhost:3306/kob?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
    4. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

                                

    SpringBoot中的常用模块
    pojo层:将数据库中的表对应成Java中的Class
    mapper层(也叫Dao层):将pojo层的class中的操作,映射成sql语句
    service层:写具体的业务逻辑,组合使用mapper中的操作
    controller层:负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面
     

    创建User

     

    1. package com.example.backenzhuce.pojo;
    2. import lombok.AllArgsConstructor;
    3. import lombok.Data;
    4. import lombok.NoArgsConstructor;
    5. @Data
    6. @NoArgsConstructor
    7. @AllArgsConstructor
    8. public class User {
    9. private Integer id;
    10. private String username;
    11. private String password;
    12. }

    创建UserMapper

    1. package com.example.backenzhuce.mapper;
    2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    3. import com.example.backenzhuce.pojo.User;
    4. import org.apache.ibatis.annotations.Mapper;
    5. @Mapper
    6. public interface UserMapper extends BaseMapper {
    7. }

    创建UserDetailsServiceImpl

     然后实现UserDetails接口

     

    改成true

     

     

     

      

    实现config.SecurityConfig类,用来实现用户密码的加密存储

    1. @Configuration
    2. @EnableWebSecurity
    3. public class SecurityConfig {
    4. @Bean
    5. public PasswordEncoder passwordEncoder() {
    6. return new BCryptPasswordEncoder();
    7. }
    8. }

    结束了!!!

    运行一下试试能不能登陆

     

     

    登录完成!!!!!

    源码:https://pan.quark.cn/s/a2b1b76a70fb

  • 相关阅读:
    百度通用文字识别离线SDK部署(c#)
    Linux I2C驱动入门之读取bmp280传感器的ID寄存器的值
    javaweb中的servlet注解
    【C++】杨辉三角+二维数组鞍点+strcpy()函数(字符串b中的字符复制到数组a中)
    2.9 GBDT模型(上篇)
    ansible
    【接口测试】POST请求提交数据的三种方式及Postman实现
    独立站+TikTok是下个风口吗
    剑指offer——JZ6 从尾到头打印链表 解题思路与具体代码
    如何做好测试用例设计
  • 原文地址:https://blog.csdn.net/m0_68036862/article/details/127657924