我需要创建诸如Shared class之类的东西,可以通过以下方式使用:
Shared.getProperty(key);
我尝试使用Environment对象,但是它始终为null。应该在哪里指定以及如何指定? 我将.xml用于我的bean配置。 我也有application.properties,我要从中检索数据。
答案 0 :(得分:1)
// Shared.java
@Component
@ConfigurationProperties("prefix.for.application.properties")
public class Shared {
private String str;
// getters, setters
}
// application.properties
prefix.for.application.properties.str=STR
// other code
@Autovired
private Shared shared;
shared.getStr();
答案 1 :(得分:0)
最好的方法是在application.properties文件中定义属性,然后可以使用@Value批注访问这些属性。
答案 2 :(得分:0)
我的方法是使用application.properties
中的值,然后创建一个Configuration类,例如:
在application.properties
中定义常量
app.email_subject =My app Registration
app.email_from =Some person
带注释的类
@Configuration
@ConfigurationProperties(prefix = "app")
public class GlobalProperties {
@Value("email_subject")
private String emailSubject;
@Value("email_from")
private String emailFrom;
// getters and setters
}
您可以在任何需要的地方使用此类:
@Service
public class SomeService {
@Autowired
private GlobalProperties globalProperties;
public someMethod() {
System.out.println(globalProperties.getEmailFrom());
}
}