前言:Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置
1.原始注解
代码实现:
@Service
@Respository
@Autowired和@Qualified
注:按照类型寻找bean写一个@Autowired,按照名称的话两个注解都要写
@Resource
@Value(普通数据类型注入)
因为spring容器中已经加载了properties配置文件,所以spring容器里已经存在很多对键值对,可以直接用spel语句注入
方法一(常用):
方法二:
@scope
2.新注解开发
思想:用配置类代表配置文件,用注解代替标签
在config包下创建一个核心配置类SpringConfiguration
代码:
//标志该类是核心配置文件
@Configuration
//<context:component-scan base-package="com.boo"></context:component-scan>扫描组件
@ComponentScan("com.boo")
//加载分配置类,括号内是个数组,可加载多个
@Import({DataSourceConfig.class})
public class SpringConfiguration {
}
分配置文件DataSourceConfig
代码:
//<context:property-placeholder location="jdbc.properties"/>,加载properties配置文件
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfig {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
//将返回对象当做Bean存入Spring容器中
@Bean("datasource")
public DataSource getDataSource() throws PropertyVetoException {
//创建C3p0数据源对象
ComboPooledDataSource dataSource=new ComboPooledDataSource();
//设置参数
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource;
}
}