import javax.sql.DataSource;
@Configuration
@ComponentScan("com.sp.study")
@PropertySource({"classpath:jdbc.properties"})
public class SpringConfig {
@Value("${jdbc.driver}")
private String driverrClassName;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean("dataSource")
public DataSource createDataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driverrClassName);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource;
}
}
注解解释:
- @Configuration ,表名当前类是⼀个配置类;
- @ComponentScan, 注解,替context:component-scan,需要扫描的包;
- @PropertySource,引⼊外部属性配置⽂件(如:jdbc.properties);
- @Import ,引⼊其他配置类;
- @Value ,对变量赋值,可以直接赋值,也可以使⽤ ${} 读取资源配置⽂件中的信息;
- @Bean ,将⽅法返回对象加⼊ SpringIOC 容器。
javaEE
@Test
public void testIoCAnno() throws Exception {
//通过配置类来启动容器
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
//测试
AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDao");
System.out.println(accountDao);
}
Java web
Archetype Created Web Application contextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocation com.sp.study.SpringConfig org.springframework.web.context.ContextLoaderListener



