一.Spring原始注解
Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率.
注解 | 说明 |
---|---|
*@Component | 使用在类上用于实例化Bean |
*@Controller | 使用在web层类上用于实例化Bean |
*@Service | 使用在service层类上用于实例化Bean |
*@Repository | 使用在dao层类上用于实例化Bean |
*@Autowired | 使用在字段上用于根据类型依赖注入 |
*@Qualifier | 结合@Autowired一起使用用于根据名称进行依赖注入 |
*@Resource | 相当于@Autowired+@Qualifier,按照名称进行注入 |
*@Value | 注入普通属性 |
*@Scope | 标注Bean的作用范围 |
@PostConstruct | 使用在方法上标注该方法是Bean的初始化方法 |
@PreDestroy | 使用在方法上标注该方法是Bean的销毁方法 |
<!--注解的组件扫描>
<context:component-scan base-package="com.jcut"></context:component-scan>
- 使用@Component或@Repository标识UserDaoImpl需要Spring进行实例化
@Component("UserDao")
//@Repository("UserDao")
public class UserDaoImpl implements UserDao{
@Override
public void save(){
System.out.println("save running");
}
}
- 使用@Autowired或者@Autowired+@Qulifier或@Resource进行UserDao的注入
//@Component("userService")
@Service("userService")
public class UserServiceImpl implements UserService {
/*
@Autowired
@Qualifier("userDao")
*/
@Resource(name="userDao")
private UserDao userDao;
@Override
public void save(){
userDao.save();
}
}
- 使用@Value进行字符串的注入
@Repository("userDao")
public class UserDaoImpl implements UserDao {
@Value("注入普通数据")
private String str;
@Value("${jdbc.driver}")
private String driver;
pulbic void save(){
System.out.println(str);
System.out.println(driver);
System.out.println("save running......");
}
}
二.Spring新注解
使用上面的注解还不能完全替代xml配置文件,还需要使用注解代替的配置如下:
- 非自定义的Bean的配置:
- 加载properties文件的配置:context:property-placeholder
- 组件扫描的配置:context:component-scan
- 引入其他文件: