1 packagecom.yangxin.springinaction.demo1;2
3 importcom.alibaba.druid.pool.DruidDataSource;4 importorg.springframework.beans.factory.annotation.Value;5 import org.springframework.context.annotation.*;6 importorg.springframework.context.support.PropertySourcesPlaceholderConfigurer;7 importorg.springframework.web.servlet.config.annotation.EnableWebMvc;8
9 importjavax.sql.DataSource;10
11
12 /**
13 * Created by Administrator on 2017/2/27.14 */
15 @Configuration16 @ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = {EnableWebMvc.class})})17 @EnableAspectJAutoProxy18 @PropertySource(value = "classpath:db.properties")19 public classAppConfig {20
21 //@Value("${jdbc.driver}")22 //private String driver;23 //
24 //@Value("${jdbc.url}")25 //private String url;26 //
27 //@Value("${jdbc.username}")28 //private String username;29 //
30 //@Value("${jdbc.password}")31 //private String password;32
33 //21 --- 31 行 这是取不到值得 作为方法入参可以取到
34
35 @Bean36 public DataSource druidDataSource(@Value("${jdbc.driver}") String driver,
37 @Value("${jdbc.url}") String url,
38 @Value("${jdbc.username}") String username,
39 @Value("${jdbc.password}") String password) {40 DruidDataSource druidDataSource = newDruidDataSource();41
42 druidDataSource.setDbType("mysql");43
44 druidDataSource.setDriverClassName(driver);45
46 druidDataSource.setUrl(url);47
48 druidDataSource.setUsername(username);49 druidDataSource.setPassword(password);50
51 druidDataSource.setMaxActive(10);52 druidDataSource.setMinIdle(5);53
54 try{55 druidDataSource.setFilters("stat, wall");56 } catch(Exception e) {57 e.printStackTrace();58 }59
60 returndruidDataSource;61 }62
63 //这个bean不要忘记配置 如果不配置 上面取得的值为 @Value中的表达式 显然是不符合情况的
64 @Bean65 publicPropertySourcesPlaceholderConfigurer propertyConfigInDev() {66 return newPropertySourcesPlaceholderConfigurer();67 }68
69 }