写点什么

SpringBoot 基础知识

作者:代码的路
  • 2023-01-13
    江苏
  • 本文字数:1603 字

    阅读完需:约 5 分钟

原文链接

1 SpringBoot 分层

1.1 Controller

控制业务层 Service 的,它的作用主要是架起了外界与业务层沟通的桥梁,移动端,前端在调用接口访问相关业务时,都会通过 Controller,由 Controller 去调相关的业务层代码并把数据返回给移动端和前端。


api 接口可以直接写在这一层。

1.2 Service

业务层,所有的内部的业务逻辑都会放在这里处理,比如用户的增删改查,或者发送个验证码或邮件,或者做⼀个抽奖活动等,都会在 Service 中进行。

1.3 dao

数据持久化层,就是和数据库打交道的,而实现持久化层的框架有很多,而常用的有两种:JPA 和 MyBatis,JPA 是 SpringBoot 官方的,前身就是著名的三大框架之一的 Hibernate,好处是不用手写 SQL。MyBatis 则在国内比较流行,原因是它的灵活性非常高,但是需要手写 SQL 语句。

2 POM 文件

2.1 parent

<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>2.2.6.RELEASE</version></parent>
复制代码


  • spring-boot-starter 是一个场景启动器。springboot 将所有的功能场景抽取出来,做成一个个的启动器 starter,只需要在项目里引入这些 starter,相关场景的所有依赖都会导入进来,要用什么功能就导入什么启动器


这个parent为我们管理依赖的版本,是 springboot 的版本仲裁中心,以后我们导入的依赖中不需要写版本。

2.2 starter-web

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>
复制代码


spring-boot-starter-web 是一个场景启动器,启动的是 springboot 的 web 场景,同上Ctrl+鼠标左键,可以看到启动 web 场景需要的依赖有:spring-boot-starter、spring-boot-starter-json、spring-boot-starter-tomcat 等。

2.3 starter-test

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-test</artifactId>    <scope>test</scope>    <exclusions>        <exclusion>            <groupId>org.junit.vintage</groupId>            <artifactId>junit-vintage-engine</artifactId>        </exclusion>    </exclusions></dependency>
复制代码


测试场景的启动器

2.4 maven-plugin

maven 的插件,配置插件的依赖以后可以进行打 jar 包等操作


<build>    <plugins>        <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>        </plugin>    </plugins></build>
复制代码

2.5 hutool

在 pom 文件内添加 hutool 依赖:


<dependency>    <groupId>cn.hutool</groupId>    <artifactId>hutool-all</artifactId>    <version>5.0.6</version></dependency>
复制代码

2.6 log

<dependency>    <groupId>log4j</groupId>    <artifactId>log4j</artifactId>    <version>1.2.17</version></dependency>
复制代码

2.7 lang

<dependency>    <groupId>commons-lang</groupId>    <artifactId>commons-lang</artifactId>    <version>2.6</version></dependency>
复制代码

2.8 lang3

<dependency>    <groupId>org.apache.commons</groupId>    <artifactId>commons-lang3</artifactId>    <version>3.3.2</version></dependency> 
复制代码

3 注解

3.1 @controller 控制器

注入服务


用于标注控制层,相当于 struts 中的 action 层

3.2 @service 服务

注入 dao


用于标注服务层,主要用来进行业务的逻辑处理

3.3 @repository

实现 dao 访问


用于标注数据访问层,也可以说用于标注数据访问组件,即 DAO 组件.

3.4 @component

把普通 pojo 实例化到 spring 容器中,相当于配置文件中的 <bean id="" class=""/>


泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于 @Controller、@Services 等的时候),我们就可以使用 @Component 来标注这个类。

3.5 @Autowired

与 component 相互配合,实现调用。


学习更多编程知识,请关注我的公众号:


代码的路



发布于: 刚刚阅读数: 3
用户头像

代码的路

关注

公众号:代码的路 2023-01-10 加入

Java、Python、C++、图像处理、深度学习相关知识分享

评论

发布
暂无评论
SpringBoot基础知识_Java_代码的路_InfoQ写作社区