用Visio制作最专业的技术流程图教程(怎么用visio做流程图)
614
2022-05-30
spring boot 核心技术
一. @PropertySource @ConfigurationProperties @ImportResource @Value 的用法
@Component
@ConfigurationProperties(prefix = "person")
@Data
@PropertySource(value = {"classpath:person.properties"})
public class Person {
@Value("${person.name}")
private String name;
private Integer age;
private List
private Map
private Dog dog;
}
@Data
public class Dog {
private String name;
private String age;
}
public class MailServiceTest extends MailserverApplicationTests {
@Autowired
private Person person;
@Test
public void getPerson(){
System.out.println(person);
}
}
@SpringBootApplication
@ImportResource(locations = {"classpath:beans.xml"})
public class MailserverApplication {
public static void main(String[] args) {
SpringApplication.run(MailserverApplication.class, args);
}
}
编写 自定义的person.properties 文件
person.name=张无忌
person.age=18
person.list=1,2,3
person.map.k1=v1
person.map.k2=v2
person.dog.name=小狗
person.dog.age=7
执行测试方法getPerson 看到控制台输出 person信息 ,说明 自动读取 person.properties 文件 并 注入到 person 对象成功。
编写 beans.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
@ ConfigurationProperties 自动 读取 application.yml 或者 application.properties中的属性 注入到 person中
@PropertySource 用于指定自定义的 配置文件,如果没有指定默认就是 读取 application.properties
@ImportResource 用来导入 spring 的 xml 配置文件,使之生效
二 、spring.profiles.active用法
properties 配置方式 ,以 application-{name}.properties的格式命名
application.prtoperties 文件
server.port=8000
spring.profiles.active = prod #配置当前使用的为生产环境配置文件
application-prod.properties 生产环境配置文件
server-port=8001
application-dev.properties 开发环境配置文件
server.port=8002
yml 文档块配置方式
#yml 文档块的方式指定 使用 生产环境还是 开发 环境配置
server:
port: 8081
spring:
profiles:
active: dev
---
server:
port: 8082
spring:
profiles: pro
---
server:
port: 8083
spring:
profiles: dev
三种激活方式:
命令行 : --spring.profiles.active= dev
jvm参数 : -Dspring.profiles,active=dev
配置文件中配置: spring.profiles.active=dev
三. 配置文件加载优先级,由高到低
四. 自动配置原理
我们 可以在 application.properties 中 配置 debug=true,在启动项目的时候就可以看到 详细的 自动配置报告,可以看到 那些类自动 配置成功, 哪些类 没有 自动配置成功。
五. 日志框架的使用,统一日志框架到slf4j+logback
每一个日志框架都有自己的实现, 配置文件还是做成日志框架实现自己本身的配置文件。
比如我们在开发一个项目的时候,使用 了 slf4j + logback 日志框架, 但是在 引入的其他框架里面使用了 commons-logging,
log4j ,java.util.logging 进行日志输出,那么这个时候就需要 我们去 统一 日志 框架了,统一日志框架分三步走 :
(1)排除 项目中其他的日志框架依赖
(2)用上图中的中间包来替换掉原有的日志框架
(3)导入slf4j 的 实现 logback
如果我们要引入其他框架,一定要把 这个框架默认的日志依赖移除掉,比如 spring 框架用的是commons-logging ,
spring boot 使用的是 slf4j + logback , 以以下的方式 把 commons-logging 包 排除掉了(避免包冲突),因为用来替换的中间包 和 原来 被 替换掉的中间的包名 都是一样的。
Spring Spring Boot
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。