新建properties配置文件: jdbc-config.properties
jdbc.driverClassName=com.mysql.jdbc.DriverBean配置
@Configuration public class ApplicationConf { //注册特殊的Bean PropertySourcesPlaceHolderConfigure @Bean public PropertySourcesPlaceholderConfigurer getProperties(){ PropertySourcesPlaceholderConfigurer placeholderConfigurer = new PropertySourcesPlaceholderConfigurer(); //将配置文件路径转换成类路径 ClassPathResource classPathResource = new ClassPathResource("jdbc-config.properties"); placeholderConfigurer.setLocations(classPathResource); return placeholderConfigurer; } //获取配置文件中的值 @Bean public String str1(@Value("${jdbc.driverClassName}") String driver){ return driver; } }测试代码:
public class Demo1 { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConf.class); String str1 = context.getBean("str1",String.class); System.out.println(str1); } }显示结果:
对应xml文件中标签: <context:property-placeholder location="classpath:properties/jdbc-info.properties"></context:property-placeholder> 在类上增加注解@PropertySource("classpath:config/jdbc-config.properties") 这里注意classpath都是小写
@Configuration @PropertySource("classpath:jdbc-config.properties") public class ApplicationConf { //获取配置文件中的值 @Bean public String str1(@Value("${jdbc.driverClassName}") String driver){ return driver; } }此注解的优势:
配置相对减少支持将参数移出到类的私有成员变量上 @Configuration @PropertySource("classpath:jdbc-config.properties") public class ApplicationConf { //私有变量修饰,方法体内直接使用 @Value("${jdbc.driverClassName}") private String driver; //获取配置文件中的值 @Bean public String str1(){ return driver; } }