IOC中的常用注解

Spring中拥有两大重点,一为AOP(Aspect Oriented Programming)面向切面编程,另一个则是IOC控制反转。

通常实现这两大重点的实现都有两种方法,一是使用xml配置文件来进行配置,但是使用xml文件进行配置的方法过于繁琐和显得臃肿,于是就有了更为简便的方法,就是使用注解进行配置。下面就来说说几个常用的注解。

前提:开启注解扫描

​<context:component-scan base-package="com.ljy"/>

base-package:容器初始化时会扫描该路径下的注解,对其进行相应操作。

一.装配bean的常用注解

@autowired()自动装配

autowired是我们使用最频繁的注解之一,作用是可以对注解下的属性进行自动注入,这种注入是按类型进行查找的,也就是说autowired会查找相同类型的属性进行注入。

autowired也可以和qualifier进行搭配,此时就会根据名称来进行注入了。

autowired修饰的范围是:属性,构造方法,set方法

    @Autowired
    @Qualifier("yy")//按名字为属性注入值

@Resource

与autowired类似,但是是默认通过名称来进行查找注入bean的。

修饰范围:构造方法,属性,set方法

与autowired的不同点:

1.autowried是Spring的注解,而Resource则是javax.annotation的注解

2.autowired默认按照类型进行注入,而Resource默认按照名称进行注入

二.组件类注解

1.@Component,@Service,@Controller,@Repository

这四个注解属于同一类型,同一用法的注解,不同的是他们用来区别组件的类型。

作用:把一个普通的类交给spring容器管理,就是配置文件中的

<bean id=""  class=""/>

当一个类带有这些注解且在容器初始化加载时被扫描到时,就会把这些类作为bean初始化加载到容器中。

他们四个对应的组件类型:

@Component:所有组件都可以使用,对另外三个注解进行了标注,可以代替另外三个组件。

@Service:标记这个类属于业务逻辑组件。

@Controller:标记这个类属于控制层的组件。

@Repository:标记这个类是持久层的组件(Dao层)。


版权声明:本文为qq_52873070原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。