把对象加入到Spring容器的几个注解

  • @Repository

  用于标注数据访问组件,即DAO组件。

  使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

  可以理解为加入该注解的类会被自动注入到spring容器中进行管理。

  • @Service

  一般用于修饰service层的组件,可以理解为加入该注解的类会被自动注入到spring容器中进行管理。

  • @Controller

  @Controller表示在tomcat启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂,如果不加,就是一个普通的类,和Spring没有半毛钱关系。其中,base-package表示会扫描com.blogMgr目录下所有的包,一旦发现有个类上面加了类似于@Controller的注解,在容器启动的时候系统就会把它加载到Spring的Bean工厂,并且对其实例化。这也是为什么我们只是写了Controller,但是从来没有在一个地方new这个Controller的原因,因为在Web容器启动的时候,这个Controller已经被Spring加载到自己的Bean工厂里面去了。这也就是所谓的Spring扫包机制。@Controller就是一个注解,当tomcat启动,我们会看到一些JAVA类挥舞着印有@Controller的旗子大喊:" Hey,SpringMVC,I'm  here,please take me to your bean factory!"

  • @Component

  泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注,也是把该类加入到Spring容器进行管理

  • @Bean

  相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。

一个小小后端的爬行痕迹
原文地址:https://www.cnblogs.com/heikedeblack/p/14329165.html