Spring 的@Component和@Autowired

Spring提供的几个Annotation来标注Spring Bean。

  • @Component:标注一个普通的Spring Bean类。在这种下,Bean实例的名称默认是Bean类的首字母小写,还可以在使用@Component标注时指定Bean实例的名称。如@Component(”steel2”).
  • @Controller:标注一个控制器组件类。
  • @Service:标注一个业务逻辑组件类。
  • @Repository:标注一个DAO组件类
  • @Repository、@Service和 @Controller。@Component是所有受Spring管理组件的通用形式;而@Repository、@Service和 @Controller则是@Component的细化,用来表示更具体的用例(例如,分别对应了持久化层、服务层和表现层)。

搜索Bean类
Spring要求显示指定搜索哪些路径下的Java类(context:component-scan方法)。然后将合适的Java类注册成Spring Bean(合适的意思就是被Annotation标注的类)。
Spring 的@Component和@Autowired_第1张图片
context:component-scan/>:将会把包下及其子包下的所有Bean类。
Spring 的@Component和@Autowired_第2张图片

如上图,第一个配置和第二个都可以获得HelloWorld这个spring Bean。用注解就不用在xml中配置Bean了。

3,Spring提供@Autowired注解来指定自动装配。
@Autowired 注释,默认采用byType自动装配策略 ,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

Spring 的@Component和@Autowired_第3张图片

你可能感兴趣的:(springmvc)