Java – used in spring Properties without using XML configuration
•
Java
I found one in the article on using java based configuration and x000 in spring Properties file The illustrations are as follows My question is "is there a way to use only Java based configuration to use. Properties files without using XML files?"
Is there any way to omit @ importresource and use Java based pure configuration in the following code?
@Configuration
@ImportResource("classpath:/com/acme/properties-config.xml")
public class AppConfig {
private @Value("${jdbc.url}") String url;
private @Value("${jdbc.username}") String username;
private @Value("${jdbc.password}") String password;
public @Bean DataSource dataSource() {
return new DriverManagerDataSource(url,username,password);
}
}
Performance - config In XML
<beans> <context:property-placeholder location="classpath:/com/acme/jdbc.properties"/> </beans>
jdbc. properties
jdbc.url=jdbc:hsqldb:hsql://localhost/xdb jdbc.username=sa jdbc.password=
Sample main method
public static void main(String[] args) {
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
TransferService transferService = ctx.getBean(TransferService.class);
// ...
}
Solution
Try this
@Configuration
@PropertySource("/app.properties")
public class Test {
@Value("${prop1}")
String prop1;
@Bean
public static PropertySourcesPlaceholderConfigurer getPropertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
Or use environment
@Configuration
@PropertySource("/app.properties")
public class Test {
@Autowired
Environment env;
@Bean
public DataSource dataSource() {
return new DriverManagerDataSource(env.getProperty("url"),env.getProperty("username"),env.getProperty("password"));
}
}
Read this article http://blog.springsource.org/2011/02/15/spring-3-1-m1-unified-property-management/ Learn more
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
