1、某个类上加入注解,可使该类快速注入到spring的bean容器中
1》@Controller:控制器类,推荐加在servlet或者controller包下的。
2》@Service:业务逻辑注解,推荐加在service的包下
3》@Repository:给数据层、持久化层加入注解,可不加
4:》@Component:给其他类型的包加入。
2、Autowried注解和@Resource注解的区别
Autowried是spring提供的注解,要求对象必须存在,如果允许为null可以设置required为false。
默认按照byType方式注入,首先ctx.getBean("xxxService")找到就赋值,没找到就抛异常;
如果同一个类型的bean多个,按照变量名作为id匹配,没有匹配上就抛异常。
如果需要按照指定名称装配需要配合@Qualifer一起使用。
例:
@Autowired
@Qualifier("userService")
private UserService UserrrrrrService{}
AutoWired在方法上也可以注入。
例:public void getAllUser(UserDao userDao){}
userDao会被容器默认注入上对应的类型,只针对于引用类型。也可以配合@Qualifer给方法参数上进行指定名字注入
例:public void getAllUser(@Qualifer(userDao1)UserDao userDao){}
3、@Resource注解,是Java提供的注解,可以指定name和type默认按照名称注入装配
例:@Resource(name="xxxx")、 @Resource(type="xxxx.class")