SpringBoot学习笔记二(常规属性配置,类型安全配置,日志配置,Profile配置)

SpringBoot配置

Spring Boot 使用一个全局的配置文件 application.properties 或application.yml,放置在src/main/resources目录或者类路径/config下(yaml语言的配置文件application.yml,yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。)
这里,以application.properties为主。

application.properties作用:对一些默认配置的配置值进行修改。

这里写图片描述

例:
1、将Tomcat的默认端口号8080修改为9090
2、 默认路径”/”修改为”/helloboot”。

这里写图片描述

SpringBoot常用的配置等需要某个模块时,做相应的配置。

SpringBoot为我们提供了简化企业级开发绝大多数场景的starter pom,只要使用了应用场景所需要的starter pom,相关的技术配置就会消除,就可以得到Spring Boot为我们提供的自动配置的Bean。

常见的starter pom(针对不同的场景,使用不同的starter pom 进行自动配置。):

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

常规属性配置:

常规spring环境: 1、@PropertySource指明properties文件的位置 2、通过@Value注入值
spring boot环境:1、在application.properties定义属性 2、直接使用@Vaue注入
(节省了@PropertySource指定这一步,因为spring boot默认指定的配置文件就是application.properties)

实例:
1、在application.properties配置文件中定义属性:

扫描二维码关注公众号,回复: 11510305 查看本文章

这里写图片描述

2、在你的controller层使用@Value()注解

这里写图片描述

3、最后写测试方法,检查是否成功注入:

这里写图片描述

类型安全配置(基于properties):

使用@Value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通常会是许多个,如果使用普通属性注入,则要使用@Value注入很多次。

基于这个需求,Spring Boot提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全的配置。

例子:

1、在application.properties配置文件中指定属性

这里写图片描述

2、先是通过@Component声明这个实体类是一个Bean
之后通过@ConfigurationProperties加载properties文件内的配置,通过prefix属性指定properties的配置的前缀,通过locations指定properties文件的位置(这里没使用到)。

这里写图片描述

3、通过@Autowired注入相应的实体类

这里写图片描述

4、打印相应信息(因为application.properties配置文件中定义的属性已经通过类型安全配置配置到Author对象中{@ConfigurationProperties},所以只要通过Author对象调用里面的属性,就可以取值)

这里写图片描述

日志配置:

Spring Boot 支持Java Util Logging、Log4J、Log4J2和Logback作为日志框架。
无论使用哪种框架,Spring Boot已为当前使用日志框架的控制台输出及文件输出做好了配置。
默认情况下,Spring Boot使用Logback作为日志框架。

例子:
logging.file=路径(设置日志文件存放在那个路径下)
logging.level.org.springframework.web = DEBUG(配置日志文件,格式为logging.level.包名 = 级别)

这里写图片描述

SpringBoot启动时就会把DEBUG级别以上的信息全都打印出来(只是启动时相关信息)。

Profile配置:

Profile是Spring用来针对不同的环境对不同的配置提供支持的。
全局Profile配置使用application-{profile}.properties(如application-prod.properties)
通过在application.properties中设置spring.profile.active = prod来指定活动的profile。

例子:
1、新建配置文件application-dev.properties

这里写图片描述

2、在application-dev.properties配置文件中指定服务端口为8888(测试)

这里写图片描述

3、新建配置文件application-prod.properties

这里写图片描述

4、在application-prod.properties配置文件中指定服务端口为80(测试)

这里写图片描述

5、当我们在application.properties通过spring.profile.active = prod指定活动的profile是application-prod.properties,此时服务端口是80。

这里写图片描述

6、当我们在application.properties通过spring.profile.active = dev指定活动的profile是application-dev.properties,此时服务端口是8888。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zxzzxzzxz123/article/details/70144397