spring的annotation注入简化了beans.xml,将很多bean用很简单的方式处理掉
1.dao持久层
原始的方法是在beans.xml里面设置
<bean id="userDao" name="user" class="cn.lsc.spring.dao.UserDao">
在annotation里面,我们只需要在beans.xml里面设置以下2步
<!-- 第一步:打开annotation(注释) -->
<context:annotation-config/>
<!--设置在哪些包中找到annotation -->
<context:component-scan base-package="cn.lsc.spring"></context:component-scan>
然后就可以在各个层里面进行代理注入。
持久层
//等于在bean。xml中完成<bean id="userDao" class="org.itat.spring.UserDao"/>
//@Component("userDao")
@Repository("userDao")//一般用于dao的注入
public class UserDao implements IUserDao{
public void add(User user) {
System.out.println("add:"+user);
}
原始的service层也是要在beans.xml里面设置
<bean id="userService" class="cn.lsc.spring.service.UserService">
<!-- ref指的是bean。xml里面的id值 -->
<property name="userdao" ref="userDao"></property>
</bean></span>
在annotation里面就简单很多了,在userService.java里面
//@Component("userService")
@Service("userService")
public class UserService implements IUserService {
private IUserDao userdao;
public IUserDao getUserdao() {
return userdao;
}
@Resource(name="userDao")
public void setUserdao(IUserDao userdao) {
this.userdao = userdao;
}
@Service("userService")这个就相当于在配置文件里写了一个bean,就是<bean id="userService" class="cn.lsc.spring.service.UserService">,@Resource(name="userDao")就是注入bean里面的属性UserDao,<property name="userdao" ref="userDao"></property>
总的来说,annotation很简便,而且简化了配置文件