注解学习
1.配置相关注解
1.1 @ConfigurationProperties
-
描述
放在类上,将外部文件(application.properties)的属性加载到Bean上,可以指定前缀。
- 详情
参数 | 说明 |
prefix | 指明配置文件属性的前缀 |
- 例子
application.properties文件内容:
person.lastName=张三
person.age=18
java代码:
@ConfigurationProperties(prefix = "person")
public class Person {
private String LastName;
private Integer age;
1.2 @Value
-
描述
放在类的属性上,将外部文件的单个属性值加载到类的属性上。
- 详情
参数 | 说明 |
value | 指明配置文件属性的全名 |
- 例子
application.properties配置文件:
person.lastName=张三
java Bean:
@Value(value = "person.lastName")
private String lastName;
@ConfigurationProperties和@Value比较可参考该篇文章
1.3 @PropertySource
-
描述
放在类上,指定某路径下的配置文件,将配置文件的属性加载到Bean上
- 详情
参数 | 说明 |
value | 指定某路径下文件的位置 |
name | 指定此属性源的名称 |
encoding | 给资源的特定字符编码 |
- 例子
application-person.properties文件内容:
person.name=李四
java Bean内容:
@PropertySource("classpath:application-person.properties")
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
1.4 @ImportResource
-
描述
放在启动类上,指定某路径下的配置文件生效。(一般让spring的配置文件xml生效)
- 详情
参数 | 说明 |
value | 指定某路径下文件的位置 |
locations | 是value的别名 |
- 例子
@ImportResource(value = "classpath:bean.xml")
@SpringBootApplication
public class DemoApplication {//启动类
1.5 @Configuration
-
描述
放在类上,指定某该类是一个配置类,注入spring的配置
- 详情
参数 | 说明 |
value | @Component注解的别名 |
- 例子
@Configuration()
public class MyConfig {
1.6 @Bean
-
描述
放在方法上,指定某该类是一个配置类,注入spring的配置
- 详情
参数 | 说明 |
value,name | name,value是各自的别名,表示创建的Bean的名字 |
initMethod | 创建bean的时候调用的方法,该方法写在bean里 |
destoryMethod | 销毁bean的时候调用的方法,该方法写在bean里 |
- 例子
@Bean(initMethod = "init",destroyMethod = "destory",value = "myservice")
public MyServiceImpl getMyService(){
return new MyServiceImpl();
}