码迷,mamicode.com
首页 > 编程语言 > 详细

Spring的常用标注

时间:2019-04-11 01:11:20      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:容器   组件   src   启用   匹配   对象   问题   prototype   初始化   

组件扫描
    什么是组件扫描
      Spring框架提供了一套 基于注解(标注) 的组件创建 和 装配的技术。这项技术
      可以大大的简化XML的配置。这套技术的名字叫组件扫描。
    实现组件扫描的步骤
      a.建立一个项目 导入jar包(ioc aop) 并拷贝 Spring容器对应的配置文件到src下
      b.在Spring 容器对应的配置文件中 开启组件扫描
      <context:component-scan base-package="包名" />
      c.写一个实体类 在类上加对应的标注
  @Component 通用层标注
    如果直接加在类上 则组件的名字就是类名首字母小写 可以通过 value 属性来指定
    名字,当然只有一个value属性时 value 可以省略。
  @Repository 持久层标注
  @Service 服务层标注
  @Controller 控制层标注
    d.创建Spring 容器对象 并从容器中获取对应的组件对象

1.组件扫描中 和 作用域 初始化 销毁等相关的标注
  作用域 可以通过 @Scope("singleton|prototype")
  初始化 可以通过 @PostConstruct
  销毁 可以通过 @PreDestroy

2.和组件装配相关的标注
  @Value 可以用在成员变量 set方法 上 用来解决简单值的注入问题 如果要注入复杂的对象
  可以结合EL表达式完成。
  @Autowired 可以用在成员变量 set方法 以及构造方法上 。
  优先按照类型进行匹配 如果有两个及以上相同的类型 则启用名字进行匹配。
  如果想指定名字进行查找 可以使用 @Qualifier("组件id")
  使用 @Qualifier 不能加在构造方法上
  @Autowired 默认对组件的依赖是强依赖(没有对应的组件 程序会抛异常 )
  可以requried 属性指定成false 代表尽量去找对应的组件 找不到也不抛异常

@Resource 可以用在 成员变量 set方法上 不能用在构造上
  这个标注 不是Spring 框架的标注 这是JDK 中的标注
  优先按照名字进行匹配 如果找不到会 启用类型匹配
  无法使用requried 如果有多个符合条件的组件 可以使用name 属性指定

Spring的常用标注

标签:容器   组件   src   启用   匹配   对象   问题   prototype   初始化   

原文地址:https://www.cnblogs.com/xiaoka000/p/10687039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!