@Autowired默认按照类型进行注入

@Autowired默认按照类型进行注入
@Autowired @Qualifier("personDaoxxx")这样就是按照名称进行装配
@Autowired(required=true)必须注入值,不能为null,为false无论注入什么值都是null

以上都是手工装配
自动装配依赖对象
对于自动装配,大家了解一下就可以了,实在不推荐大家使用。例子:
<bean id=”…” class=”….”>
autowire属性取值如下:
byType:按类型装配,可以根据属性的类型,在容器中寻找根该类型匹配的bean.如果发现多个,那么将会抛出异常。如果没有找到,即属性值为null。
byName:按名称装配,可以根据属性的名称,在容器中寻找根该属性名相同的bean,如果没有找到,即属性值为null。
Constructor与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
Autodetect:通过bean类的自省机制来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。

0


http://zhidao.baidu.com/link?url=4T5FVlKL1HqHHpGSCwCXI3h3QaZZ0HRe_9gnFuZE74pRMJ2L0LF64ZzoNVTAdq7y2EY_at8_5QVYsnhltr_o7K

@Component("userManager")
public class UserManagerImpl implements UserManager {
private UserDao userDao ;
         public UserDao getUserDao() {
  return userDao;
}
    @Resource    
public void setUserDao(UserDao userDao) {
  this.userDao = userDao;
}
  /* (non-Javadoc)
   * @see com.wjs.registration.service.UserManager#exists(com.wjs.registration.model.Users)
   */
  public boolean exists(Users u){
         return userDao.checkUserExistsWithName(u.getUsername());
   }
         /* (non-Javadoc)
   * @see com.wjs.registration.service.UserManager#add(com.wjs.registration.model.Users)
   */
        public void add(Users u){
         userDao.save(u);
         }
}
这里表示什么意思哦@Component("userManager")

在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释

这里就是说把这个类交给Spring管理,重新起个名字叫userManager,由于不好说这个类属于哪个层面,就用@Component

参考地址:http://www.ulewo.com/user/10001/blog/273

猜你喜欢

转载自rd-030.iteye.com/blog/2297590