SpringBoot配置
属性配置
@Value("my name") 注入普通字符串
@Value("#{systemProperties['os.name']}") 注入操作系统属性
@Value("# {T(java.lang.Math).random()*10.0}") 注入表达式结果
@Value("#{demoService.another']}") 注入其他Bean属性
@Value("classpath:com/test.txt") 注入文件资源
@Value("http://www.baidu.com") 注入网站资源
@Value("${book.size}") 注入配置文件
@Component (把普通pojo实例化到spring容器中)
@ConfigurationProperties(prefix=“配置项的名字”)
多环境配置
application.yml
application-dev.yml
application-prod.yml
application.yml里写
spring:
profiles:
active: dev
就是调用开发环境的配置
@Vaild 表单验证
AOP
要想把一个类变成切面类,需要两步,
① 在类上使用 @Component 注解 把切面类加入到IOC容器中
② 在类上使用 @Aspect 注解 使之成为切面类
① 在类上使用 @Component 注解 把切面类加入到IOC容器中
② 在类上使用 @Aspect 注解 使之成为切面类
需要记住的注解@Pointcut @Before @After @AfterReturning
@PostConstruct 在构造函数执行完之后执行
@PreDestroy 在Bean销毁之前执行
@EnableAsync 开启异步任务支持
@Async 注解在方法上则方法为异步方法,注解在类上则类的所有方法都为异步方法
@Conditional 满足某一特定条件创建一个特定的Bean
@WiselyConfiguration组合注解替代@Configuration和@ComponentScan
@Enable*工作原理:所有@Enable注解都有一个@Import注解,@Import是导入配置类的,这意味着这些自动开启的实现其实是导入一些自动配置的Bean。
这些自动导入的配置方式主要分三类:
1.直接导入配置类,如@Import(SchedulingConfiguration.class)
2.依据条件选择配置类,如@Import(AsyncConfigurationSelector.class)
3.动态注册Bean,如@Import(AspectJAutoProxyRegistrar.class)
@ImportResource 来加载xml文件