用法一
使用@ConfigurationProperties和@Component注解到bean定义类上
@Data
@Component
@ConfigurationProperties(prefix = "test.user")
public class User {
// 11
private String age;
// bobo
private String userName;
}
// application.properties配置文件内容如下:
// @ConfigurationProperties会将对应前缀的后面的属性与Bean对象的属性匹配,符合条件则进行赋值。
test.user.age = 11
// 可以将"-"转换为驼峰
test.user.user-name = bobo
用法二
使用@ConfigurationProperties和@Bean注解在配置类的Bean定义方法上
/**
将前缀为“datasource.mysql”的属性,赋值给DataSource Bean 对应的属性值
*/
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "getDataSource")
@ConfigurationProperties(prefix = "datasource.mysql")
public DataSource getDataSource() {
//DataSourceBuilder.create().build() 默认数据源类型是 org.apache.tomcat.jdbc.pool.DataSource
//这里指定使用类型 -- 阿里DruidDataSource 连接池
return DataSourceBuilder.create().type(DruidDataSource.class).build();
}
}
用法三
使用@ConfigurationProperties注解到普通类
@Data
@ConfigurationProperties(prefix = "test.user")
public class User {
// 11
private String age;
// bobo
private String userName;
}
然后再通过@EnableConfigurationProperties定义为Bean
/**
@EnableConfigurationProperties对User进行实例化时,就可以用@ConfigurationProperties对属性进行匹配赋值。
*/
@SpringBootApplication
@EnableConfigurationProperties({User.class})
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}