Spring的@component
1、@component (把普通pojo实例化到spring容器中,相当于配置文件中的
本来后三个就是对@component 的扩展,后面版本的spring可能(可能)会给这三个标签加更多的功能。目前版本用起来都一样,只是看起来更加容易区分。
<bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
案例:
<context:component-scan base-package=”com.*”>
上面的这个例子是引入Component组件的例子,其中base-package表示为需要扫描的所有子包。
共同点:被@component、@controller 、@service、@repository 注解的类,都会把这些类纳入进spring容器中进行管理
2、@controller 控制器(注入服务)
把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class="">
用于标注控制层,相当于struts中的action层。
3、@service 服务 (用来声明ssm的service层)
1.用于标注服务层,主要用来进行业务的逻辑处。
2.service注解的类,里面的@Autowired注解用来注入dao,调用dao的功能(@Autowired自动装配)
3.使用时,配置dao,要注入dao才能操作数据库。
4、@repository(实现dao访问)
用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件。
扩展
等到了dubbo(高性能的Java RPC框架)的时候也会有@service的注解
不要弄混