java – Spring在自动装配的bean中自动装配属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Spring在自动装配的bean中自动装配属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1943字,纯文字阅读大概需要3分钟。
内容图文
我是春天的新手.我遇到了Spring-Boot的问题.我正在尝试将外部配置文件中的字段自动装入自动装配的bean中.我有以下课程
App.java
public class App {
@Autowired
private Service service;
public static void main(String[] args) {
final SpringApplication app = new SpringApplication(App.class);
//app.setShowBanner(false);
app.run();
}
@PostConstruct
public void foo() {
System.out.println("Instantiated service name = " + service.serviceName);
}
}
AppConfig.java
@Configuration
@ConfigurationProperties
public class AppConfig {
@Bean
public Service service() {
return new Service1();
}
}
服务接口
public interface Service {
public String serviceName ="";
public void getHistory(int days , Location location );
public void getForecast(int days , Location location );
}
服务1
@Configurable
@ConfigurationProperties
public class Service1 implements Service {
@Autowired
@Value("${serviceName}")
public String serviceName;
//Available in external configuration file.
//This autowiring is not reflected in the main method of the application.
public void getHistory(int days , Location location)
{
//history code
}
public void getForecast(int days , Location location )
{
//forecast code
}
}
我无法在App类的postconstruct方法中显示服务名称变量.我这样做了吗?
解决方法:
您可以通过不同方式加载属性:
想象一下以下由spring-boot自动加载的application.properties.
spring.app.serviceName=Boot demo
spring.app.version=1.0.0
>使用@Value注入值
@Service
public class ServiceImpl implements Service {
@Value("${spring.app.serviceName}")
public String serviceName;
}
>使用@ConfigurationProperties注入值
@ConfigurationProperties(prefix="spring.app")
public class ApplicationProperties {
private String serviceName;
private String version;
//setters and getters
}
您可以使用@Autowired从另一个类访问此属性
@Service
public class ServiceImpl implements Service {
@Autowired
public ApplicationProperties applicationProperties;
}
您可以注意到前缀是spring.app,然后spring-boot将匹配属性前缀,并查找serviceName,并注入版本和值.
内容总结
以上是互联网集市为您收集整理的java – Spring在自动装配的bean中自动装配属性全部内容,希望文章能够帮你解决java – Spring在自动装配的bean中自动装配属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。