Spring Boot

一、Spring Boot概述

二、@Value与@ConfigurationProperties配置文件中获取值比较

@ConfigurationProperties@Value
功能批量注入配置文件中的属性 一个一个指定
松散绑定(松散语法)支持(短横线改驼峰命名)不支持
SpEL(表达式)不支持支持
JSR303数据校验(@Email格式)支持不支持

三、@PropertySource 与@ImportResource

@PropertySource 加载指定的配置文件

//指定xxx.properties配置文件
@PropertySource(value={"classpath:xxx.properties"})

@ImportResource 导入Spring的配置文件,让配置文件里面的内容生效
Spring Boot 里面没有Spring的配置文件,即使是我们自己编写的配置文件也不能自动识别,想让Spring的配置文件生效,加载进来,用@ImportResource标注在一个需要生效的配置类上

//标注需要生效的Spring配置文件 xxx.xml文件
@@ImportResource(location="{classpath:xxx.xml}")

Spring Boot推荐使用全注解注入配置文件

@Configuration//指明当前类是一个配置类
public class MyAppConfig{
		//将方法返回值添加到容器中,容器中这个组件默认的id就是方法名
		@Bean
		public HelloService helloService(){
				return new HelloService;
		}
}

测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class Spingboot01ApplicationTests {

	@Autowired
	ApplicationContext ac;

	@Test
	public void testHelloService() {
		Boolean b = ac.containBean("helloService");
		System.out.println(b);
	}

}

四、配置文件的占位符

1、随机数

${random.uuid}   ${random.int}  ${random.long}   ${random.int(10)}...

2、占位符获取之前配置的值,如果没有值,可以用:指定默认值

name=章鱼哥_${name2:Mack}
age=${random.int}
birth=2019/08/20

五、profile

激活profile

1、在配置文件中指定

//指定xxx-dev.properties为主配置文件(替换原来的application.properties)
spring.profiles.active=dev

2、cmd命令行(项目打包完成后)
java -jar 文件名.jar --spring.profiles.active=dev
3、直接测试时,配置传入命令行参数
spring.profiles.active=dev
在这里插入图片描述
4、虚拟机参数(-D规定语法)
在这里插入图片描述

六、配置文件加载位置

在这里插入图片描述

七、自动配置原理(重点)

1)Spring boot 启动的时候加载主配置类,开启自动配置功能@EnableAutoConfiguration
2)@EnableAutoConfiguration作用

  • 底层利用选择器 注解@Import({AutoConfigurationImportSelector.class})给容器导入一些组件
  • 可以在插件selectImports()方法的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值