Spring-boot 第三方配置

Bean的注入从配置文件中来

方法1,使用EnableConfigurationProperties注解

在App的类上加上EnableConfigurationProperties如:

1
@EnableConfigurationProperties({ConfigBean.class})

需要注入的bean加入@ConfigurationProperties(prefix = "foo")注解。

1
2
3
4
5
6
7
@ConfigurationProperties(prefix = "foo")  
public class ConfigBean {

private String username;
private String password;
// get set ...略
}

application.properies中,以增加以前缀开头的配置+字段名为key的键值对。

1
2
foo.username=c
foo.password=xxx

使用:直接用@Autowired注解。

1
2
3
4
5
6
7
8
9
10
11
@Controller
public class MainController {
@Autowired
private ConfigBean config;
@RequestMapping("/config")
@ResponseBody
public String index2(ModelMap map) {
System.out.println(config);
return config.toString();
}
}

方法2,@Bean及@ConfigurationProperties

在App类中增加方法

1
2
3
4
5
6
@Bean
@ConfigurationProperties(prefix = "foo")
public ConfigBean getConfig()
{
return new ConfigBean();
}

其它配置如上
这种方法ConfigBean上无需ConfigurationProperties配置

参考


Spring-boot 第三方配置
https://blog.fengcl.com/2017/11/28/spring-boot-configurationproperties/
作者
frank
发布于
2017年11月28日
许可协议