1.@Component
标注一个普通的Spring Bean类
2.@Controller
标注一个控制器组件类
3.@Service
标注一个业务逻辑组件类
4.@Repository
标注一个Dao组件类
解析:在类上面添加了上述4个中的任意一个注解,那么Spring会把它们当成Bean类来处理,类的名字默认是Bean类的首字母小写,其余部分不变,也可以重新制定名字,如@component(“axe”)
5.@Resource
@Resource和作用和XML配置文件中的<bean>里面的<property>元素的ref属性相同,用来给该类的全局变量注入值
注1:@Resource在有name属性值时要放在set方法上
例: private Axe axe;
@Resource(name="stoen")
public void setAxe(Axe axe){}
注2:@Resource可以修饰实例变量,此时set方法可以省略
例:@Resource
private Axe axe;
注3:使用@Resource时,name属性可以省略,当使用省略的@Resource修饰set方法时,name属性默认为该set方法去掉前面的set,首字母小写得到的子串。当使用省略的@Resource修饰实例变量时,name属性和实例变量同名。
6.@Autowried
@Autowried可以修饰setter方法,普通方法,实例变量和构造器,使用了@Autowried后,Spring会自动搜索容器中的某个Bean实例,存在就执行,找到多个会出错,不存在就不执行