Spring注解
第一章 Spring原始注解
第二章 Spring新注解
文章目录
前言
- Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。
- Spring原始注解主要是替代Bean的配置
- 用xml来进行配置时,我们需要相应的set方法或者构造函数才可以进行属性注入。如果使用的是注解进行开发,就不需要相应的set方法和构造函数。
- 使用注解前记得使用包扫描。
一、@Controller(使用在web层类上用于实例化Bean)
//xml配置
<bean name="userDao" class="com.hbh.dao.impl.UserDaoImpl"/>
//注解
@Controller("userDao")
二、@Service(使用在service层类上用于实例化Bean)
//xml配置
<bean name="userService" class="com.hbh.dao.impl.UserServiceImpl"/>
//注解
@Controller("userService")
三、@Repository(使用在dao层类上用于实例化Bean)
//xml配置
<bean name="userDao" class="com.hbh.dao.impl.UserDaoImpl"/>
//注解
@Repository("userDao")
四、@Autowired(使用在字段上用于根据类型依赖注入)
//使用xml配置时注意userDao下必须拥有set方法
<bean name="userService" class="com.hbh.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
//注解
@Autowired
private UserDao userDao;
五、@Qualifier(与Autowired连用,根据名称进行依赖注入)
//使用xml配置时注意userDao下必须拥有set方法
<bean name="userService" class="com.hbh.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
//注解
@Autowired
@Qualifier("userDao")
private UserDao userDao;
六、@Value(注入普通属性)
//xml配置
<property name="driverClass" value="${jdbc.driver}"/>
//注解
@Value("${jdbc.driver}")
七、@Scope(标注Bean的作用范围)
//xml配置
<bean name="userDao" class="com.hbh.dao.impl.UserDaoImpl" scope="prototype"/>
//注解
@Repository("userDao")
@Scope("singleton")
public class UserDaoImpl implements UserDao()
八、@PostConstruct(标注该方法是Bean的初始化方法)
不常用懒得讲
九、@PreDestroy(标注该方法是Bean的销毁方法)
不常用懒得讲