标签:SpringBoot 配置文件 Spring 配置 Boot application 简述 整合 spring
1. Spring Boot概述
目标:了解Spring Boot是什么,有什么作用
小结:
Spring Boot是一个便捷搭建 基于spring工程的脚手架;作用是帮助开发人员快速搭建大型的spring 项目。简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上。
2. Spring Boot入门
目标:能够使用Spring Boot搭建项目
分析:
需求:可以在浏览器中访问http://localhost:8080/hello输出一串字符
实现步骤:
- 创建工程;
- 添加依赖(启动器依赖,spring-boot-starter-web);
- 创建启动类;
- 创建处理器Controller;
- 测试
小结:
Spring Boot工程可以通过添加启动器依赖和创建启动引导类实现快速创建web工程。
spring-boot-starter-web默认的应用服务器端口是8080
3. Java代码方式配置
目标:可以使用@Value获取配置文件配置项并结合@Bean注册组件到Spring
分析:
需求:使用Java代码配置数据库连接池,并可以在处理器中注入并使用
步骤:
- 添加依赖;
- 创建数据库;
- 创建数据库连接参数的配置文件jdbc.properties;
- 创建配置类;
- 改造处理器类注入数据源并使用
4. Spring Boot属性注入方式
目标:能够使用@ConfigurationProperties实现Spring Boot配置文件配置项读取和应用
分析:
需求:将配置文件中的配置项读取到一个对象中;
实现:可以使用Spring Boot提供的注解@ConfigurationProperties,该注解可以将Spring Boot的配置文件(默认必须为application.properties或application.yml)中的配置项读取到一个对象中。
实现步骤:
- 创建配置项类JdbcProperties类,在该类名上面添加@ConfigurationProperties;
- 将jdbc.properties修改名称为application.properties;
- 将JdbcProperties对象注入到JdbcConfig;
- 测试
小结:
- 使用@ConfigurationProperties编写配置项类将配置文件中的配置项设置到对象中
5. 多个yml文件配置
目标:可以将多个yml文件在application.yml文件中配置激活
分析:
yaml与properties配置文件除了展示形式不相同以外,其它功能和作用都是一样的;在项目中原路的读取方式不需要改变。
1)yml配置文件的特征:
- 树状层级结构展示配置项;
- 配置项之间如果有关系的话需要分行空两格;
- 配置项如果有值的话,那么需要在
:
之后空一格再写配置项值;
将application.properties配置文件修改为application.yml的话:
jdbc:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/heima
username: root
password: root
2)多个yml配置文件;在spring boot中是被允许的。这些配置文件的名称必须为application-***.yml,并且这些配置文件必须要在application.yml配置文件中激活之后才可以使用。
3)如果properties和yml配置文件同时存在在spring boot项目中;那么这两类配置文件都有效。在两个配置文件中如果存在同名的配置项的话会以properties文件的为主。
小结:
在多个配置文件时,需要将这些文件在application.yml文件中进行激活
6. 自动配置原理
目标:了解Spring Boot项目的配置加载流程
小结:
- 在
META-INF\spring.fatories
文件中定义了很多自动配置类;可以根据在pom.xml文件中添加的 启动器依赖自动配置组件 - 通过如下流程可以去修改application配置文件,改变自动配置的组件默认参数
7. lombok应用
目标:使用lombok的注解实现pojo类的简化
分析:
使用Spring Boot整合SSM工程;需要使用到数据库数据。
-
将数据库表数据导入到数据库中(springboot_test);
-
编写数据库表对应的实体类;一般情况下需要编写get/set/toString等这些方法会耗时并且会让实体类看起来比较臃肿。可以使用lombok插件对实体类进行简化。
lombok是一个插件工具类包;提供了一些注解@Data、@Getter等这些注解去简化实体类中的构造方法、get/set等方法的编写。
- 在IDEA中安装lombok插件;
- 添加lombok对应的依赖到项目pom.xml文件;
- 改造实体类使用lombok注解
小结:
在Bean上使用:
@Data :自动提供getter和setter、hashCode、equals、toString等方法
@Getter:自动提供getter方法
@Setter:自动提供setter方法
@Slf4j:自动在bean中提供log变量,其实用的是slf4j的日志功能。
8. Spring Boot整合-SpringMVC端口和静态资源
目标:可以修改tomcat的端口和访问项目中的静态资源
分析:
-
修改tomcat端口
查询**Properties,设置配置项(前缀+类变量名)到application配置文件中
-
访问项目中的静态资源
静态资源放置的位置;放置静态资源并访问这些资源
小结:
- 修改项目tomcat端口:
#tomcat端口
server:
port: 80
- 在spring boot项目中静态资源可以放置在如下目录
- /META-INF/resources/
- /resources/
- /static/
- /public/
9.Spring Boot整合-SpringMVC拦截器
目标:可以在Spring Boot项目中配置自定义SpringMVC拦截器
分析:
- 编写拦截器(实现HandlerInterceptor);
- 编写配置类实现 WebMvcConfigurer,在该类中添加各种组件;
- 测试
10. Spring Boot整合-事务和连接池
目标:配置Spring Boot自带默认的hikari数据库连接池和使用@Transactional注解进行事务配置
分析:
-
事务配置
- 添加事务相关的启动器依赖,mysql相关依赖;
- 编写业务类UserService使用事务注解@Transactional
-
数据库连接池hikari配置
只需要在application配置文件中指定数据库相关参数
小结:
- 事务配置;只需要添加jdbc启动器依赖
- 数据库连接池使用默认的hikari,在配置文件中配置如下:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot_test
username: root
password: root
11. Spring Boot整合-Mybatis
目标:配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项
分析:
- 添加启动器依赖;
- 配置Mybatis:实体类别名包,日志,映射文件等;
- 配置MapperScan
小结:
-
添加mybatis官方对于spring boot的一个启动器
<!--mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>
-
配置mybatis
mybatis: # 实体类别名包路径 type-aliases-package: com.code_g.pojo # 映射文件路径 # mapper-locations: classpath:mappers/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-
设置启动器类中的mapper扫描
12. Spring Boot整合-通用Mapper
目标:配置通用Mapper组件到Spring Boot项目中并使用Mapper
分析:
通用Mapper:可以实现自动拼接sql语句;所有的mapper都不需要编写任何方法也就是不用编写sql语句。可以提高开发效率。
- 添加启动器依赖;
- 改造UserMapper继承Mapper
; - 修改启动引导类Application中的Mapper扫描注解;
- 修改User实体类添加jpa注解;
- 改造UserService实现业务功能;
小结:
在启动引导类上面的mapper扫描注解 一定要修改为通用mapper的扫描注解
13. Spring Boot整合-Junit
目标:在Spring Boot项目中使用Junit进行单元测试UserService的方法
分析:
- 添加启动器依赖spring-boot-starter-test;
- 编写测试类
小结:
在Spring Boot项目中如果编写测试类则必须要在类上面添加@SpringBootTest
14. Spring Boot整合-redis
目标:在Spring Boot项目中使用Junit测试RedisTemplate的使用
分析:
- 添加启动器依赖;spring-boot-starter-data-redis
- 配置application.yml中修改redis的连接参数;(redis需要启动)
- 编写测试类应用RedisTemplate操作redis中的5种数据类型(string/hash/list/set/sorted set)
15. Spring Boot项目部署
目标:将Spring Boot项目使用maven指令打成jar包并运行测试
分析:
- 需要添加打包组件将项目中的资源、配置、依赖包打到一个jar包中;可以使用maven的
package
; - 部署:java -jar 包名
小结:
-
添加打包组件
<build> <plugins> <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
-
部署运行
java -jar 包名
案例地址:https://gitee.com/code-gzy/springbootdemo.git
标签:SpringBoot,配置文件,Spring,配置,Boot,application,简述,整合,spring 来源: https://www.cnblogs.com/codegzy/p/14869091.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。