3、常用到的注解列表-属性赋值相关
1、@Value
public class Person {
//使用@Value赋值
//1.基本的数值
//2.可以写SpEL: #{}
//3.可以写${}:取出配置文件中的值(在运行环境变量里面的值)
@Value("张三")
private String name;
@Value("#{20-2}")
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}2、@PropertySource
加载外部配置文件
//使用@PropertySource读取外部配置文件中的key/value保存到运行的环境变量中
//加载完外部配置文件以后使用${}取出配置文件的值
@PropertySource(value = {"classpath:/person.properties"})
@Configuration
public class MainConfigOfPropertyValues {
@Bean
public Person person() {
return new Person();
}
}public class Person {
//使用@Value赋值
//1.基本的数值
//2.可以写SpEL: #{}
//3.可以写${}:取出配置文件【properties】中的值(在运行环境变量里面的值)
@Value("张三")
private String name;
@Value("#{20-2}")
private Integer age;
//取外部配置文件的值。
@Value("${person.nickName}")
private String nickName;
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}2、@ConfigurationProperties(常用)
#数据源 spring.datasource.druid.write.url=jdbc:mysql://localhost:3306/test1 spring.datasource.druid.write.username=root spring.datasource.druid.write.password=123456 spring.datasource.druid.write.driver-class-name=com.mysql.jdbc.Driver spring.datasource.druid.read.url=jdbc:mysql://localhost:3306/test2 spring.datasource.druid.read.username=root spring.datasource.druid.read.password=123456 spring.datasource.druid.read.driver-class-name=com.mysql.jdbc.Driver
@Configuration
public class DruidDataSourceConfig {
/**
* DataSource 配置
* @return
*/
@ConfigurationProperties(prefix = "spring.datasource.druid.read")
@Bean(name = "readDruidDataSource")
public DataSource readDruidDataSource() {
return new DruidDataSource();
}
/**
* DataSource 配置
* @return
*/
@ConfigurationProperties(prefix = "spring.datasource.druid.write")
@Bean(name = "writeDruidDataSource")
@Primary
public DataSource writeDruidDataSource() {
return new DruidDataSource();
}
}这里的@ConfigurationProperties其实就类似于使用多个@Value同时绑定,绑定的对象就是DataSource类型的对象,而且是隐式绑定的,意味着在配置文件编写的时候需要与对应类的字段名称相同。
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=false&autoReconnect=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
@ConfigurationProperties(prefix = "spring.datasource")
@Component
public class DatasourcePro {
private String url;
private String username;
private String password;
// 配置文件中是driver-class-name, 转驼峰命名便可以绑定成功
private String driverClassName;
private String type;
//省略get/set方法
}版权声明
非特殊说明,本文由Zender原创或收集发布,欢迎转载。
上一篇:2、常用到的注解列表-生命周期相关 下一篇:4、常用到的注解列表-自动装配相关
ZENDER
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。