[英]How can I use Value Annotations in another class?
我如何在這里獲得自己的價值並將其用於其他課程? 我想創建一個處理所有@Value批注的類,然后其他類可以從此類中獲取這些值。 一旦我學會了如何從另一個班級獲得價值,我將從一個主要班級轉變為一個新班級
我如何獲得這些變量
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class WebProperties {
@Value("${Application}")
private String app;
@Value("${APP_MEMORY_GREP_FOLDERS_APP}")
private String appFolder;
@Value("${APP_MEMORY_GREP_FOLDERS_OPT}")
private String optFolder;
//getters and setters
}}
打印到主班
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
@Value("${Application}")
private String app;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@PostConstruct
public void postConstruct() {
System.out.print("SampleApplication started: " + app);
}
}
不必再次調用@Value
您可以創建一個用@Configuration注釋的新屬性類。 在那里,您可以使用@Value注釋所需的所有屬性。 可以在需要屬性的所有其他彈簧組件類中將該類自動裝配。
這是Configuration類,在其中映射了application.properties文件的屬性:
@Configuration
public class MyProperties{
@Value("{my.property}")
public String myProperty;
}
可以如下使用:
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
@Autowired
private MyProperties props;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@PostConstruct
public void postConstruct() {
System.out.print("Print my property: " + props.myProperty);
}
}
這對我有用。 希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.