我正在尝试使用spring 4加载属性并在类中使用它们,但我无法使它工作。这不是一个MVC应用程序,报告的副本并没有给我任何关于我的问题的线索。这是我在测试项目中得到的:
主要班级:
public class Main {
public static void main(String...args) {
ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
Tester t = new Tester();
t.testBean();
}
}
ApplicationConfig类:
@Configuration
@ComponentScan(basePackages={"nl.foo.propertiestest"})
@PropertySource("application.properties")
public class ApplicationConfig {
//Spring framework will know what to do with this class
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
The Tester Ckass:
public class Tester {
@Autowired
Environment env;
@Bean
public void testBean() {
System.out.println("testBean start");
String a = env.getProperty("test");
System.out.println("property = " + a);
System.out.println("testBean e");
}
}
application.properties:
test=hello tester
应用程序在tring a = env.getProperty("test");
上给出了一个空指针异常,但它似乎加载了属性,因为它在属性文件不在类路径中时会出错。
如何检索该属性?