尚未崩坏 发表于 2024-7-10 15:11:22

快速入门,springboot知识点汇总

学习 springboot 应该像学习一门编程语言一样,首先要熟练掌握常用的知识,而对于不常用的内容可以简单了解一下。先对整个框架和语言有一个大致的轮廓,然后再逐步增补细节。
前序:

Spring Boot 通过简化设置和提供开箱即用的特性,大大加快了 Spring 应用的开发过程。
1、构建一个 Spring Boot 项目

打开idea, 选择新建项目, 生成器选择spring initiallzr, 类型选择Maven, 然后点击下一步, 依赖项可以选个spring web。
https://i-blog.csdnimg.cn/direct/651393763adb40c19cfcc1d8b5d46a0d.png
整个        项目布局 如下
myproject
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │         └── myproject
│   │   │               └── MyprojectApplication.java
│   │   └── resources
│   │       └── application.properties
└── pom.xml正常初始化一个项目时, 我们还必要导入很多依赖, 而且过程很繁琐
而maven就可以简化这个导入依赖这个过程,我们可以通过 Maven 设置文件(pom.xml),减少了依赖管理的复杂性。
2、导入依赖

进入 maven官网, 在搜索框中可以搜索到我们必要的依赖。
比如我们搜索 Spring Boot Starter JDBC这个依赖, 选择版本号, 把下面的代码粘贴到pom.xml文件中的dependencies标签中就算是导入依赖。(记得刷新才可以)
https://i-blog.csdnimg.cn/direct/e7435dd5f10747679abe68b2e4b84177.png
2.1 常用依赖

下面是一些常用到的依赖

[*]MySQL Connector/J
MySQL 官方提供的 JDBC 驱动程序,用于 Java 应用程序与 MySQL 数据库之间的毗连和通讯。

[*]Spring Boot Starter JDBC
可以快速地设置和利用 JDBC 数据库毗连。通俗的来说, 我们引入这个依赖后就可以快速的让程序毗连到数据库, 并且通过代码来编写sql语句, 控制数据库。
毗连数据库:
我们可以通过在application.properties设置文件中设置如下信息就可以毗连到数据库
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
[*]Project Lombok
可以让我们通过注解来减少样板代码的编写, 样板代码一般来说就是pojo类的get, set, 构造函数 ,equals,hashCode,toString等等。(下面会讲到pojo类)

[*]mybatis-plus-boot-starter 和 mybatis-plus-generator
MyBatis-Plus相关的依赖。
MyBatis-Plus 提供了一套通用的 Mapper 接口,通过继承这些接口,能够实现对单表的 CRUD 操纵,无需编写重复的 SQL 语句。(相当于是它帮我们写好了很多mapper层的接口, 下面会讲到mapper)
假如到场上面两个mybatisplus后spring不能正常利用mybatisplus的话可以到场这个依赖mybatis-spring

[*]spring-boot-starter-security
Spring Security 的相关依赖
Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。通过简单的设置和注解,开发者可以实现复杂的身份验证和授权逻辑,保护应用程序的安全。也就是说通过它我们可以轻松的实现web上登录注册。
可以在下面讲到的时间再添加这个依赖, 不然要登录才气访问
3、 应用的关键层次和功能

POJO 层定义数据对象和封装数据。
Mapper 层与数据库交互,执行数据操纵。
Service 层处置惩罚业务逻辑,调用 Mapper 层实现数据操纵。
Controller 层接收和处置惩罚用户请求,调用 Service 层获取数据并返回响应。
我们一般会在myproject(上面层级布局中的)文件夹下分别创建pojo、mapper、service 、controller文件夹, 然后在文件夹中写java类
下面的样例代码中会出现很多注解, 它详细什么作用可自行查阅, 不同注解详细什么作用直接背过就行了, 初学阶段不要穷究!!!

[*]pojo
pojo中文件名(pojo类名)一般定义成和数据库中的表名相同,一般把变量名定义成和该表中的字段名相同,这样springboot就会主动的把这个pojo和类的变量直接映射到数据库中对应的表和列中。
这样外部要访问数据库就可以通过这个pojo类的get,set方法获取修改该pojo类对应的数据库中的表。 但是每个pojo类都要写这些方法不免会有些繁琐, 我们可以通过上面下载的依赖Project Lombok来主动完成, 只必要在pojo类上面写上@Data @NoArgsConstructor @AllArgsConstructor这三个注解, 这个依赖就会主动帮我们生成
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Long id;
    private String username;
    private String email;
   
    // Getters and setters
    // toString, equals, hashCode 因为有上面三个注解, 所以会自动生成, 不需要手写
}
[*]Mapper
类名和表名相同, 实现不同表的基本sql查询,包括增删改查等操纵。
(上面讲的MyBatis-Plus写好的有很多接口, 我们只必要继承MyBatis-Plus写好的接口就行, 可以参考MyBatis-Plus官网 )
@Mapper
public interface UserMapper {

    @Select("SELECT * FROM users WHERE id = #{id}")
    User findById(Long id);

    // 其他 SQL 操作方法
}
[*]Service
调用 Mapper 层的方法进行数据访问,处置惩罚返回结果并进行恰当的业务处置惩罚。类名根据详细的业务定义。
@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public User getUserById(Long id) {
      return userMapper.findById(id);
    }
   
    // 其他业务逻辑方法
}
[*]Controller
接收来自客户端的 HTTP 请求, 也就是不同url调用不同的函数, 函数对应着业务的逻辑
根据业务逻辑 调用相应的 Service 层方法, 然后把处置惩罚结果返回,通常返回 JSON、HTML 页面或其他格式的数据。
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
      return userService.getUserById(id);
    }

    // 其他请求处理方法
}4、Spring Security

添加这个依赖后, 访问网站就必要登录验证
实现service.impl.UserDetailsServiceImpl类,继承自UserDetailsService接口,用来接入数据库信息 (service文件夹下的impl文件夹下的UserDetailsServiceImpl类, 一般习惯这么来写)
实现config.SecurityConfig类,用来实现用户密码的加密存储
@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public PasswordEncoder passwordEncoder() {
      return new BCryptPasswordEncoder();
    }
}暂时更新到这里... 过几天偶然间再更

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 快速入门,springboot知识点汇总