spring注解注入示例详解.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring注解注入示例详解.pdf

一、各种注解方式 1.@Autowired 注解(不推荐使用,建议使用@Resource) @Autowired 可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。 @Autowired 的标注位置不同,它们都会在Spring 在初始化这个bean 时,自动装配这个属 性。要使@Autowired 能够工作,还需要在配置文件中加入以下 Xml 代码 1. bean class=org.springframework.beans.factory.annotation.AutowiredAnnotati onBeanPostProcessor / 2. @Qualifier 注解 @Autowired 是根据类型进行自动装配的。例如,如果当Spring 上下文中存在不止一个 UserDao 类型的bean 时,就会抛出BeanCreationException 异常;如果Spring 上下文中不 存在UserDao 类型的bean,也会抛出BeanCreationException 异常。我们可以使用 @Qualifier 配合@Autowired 来解决这些问题。如下: 1). 可能存在多个UserDao 实例 Java 代码 1. @Autowired 2. @Qualifier(userServiceImpl) 3. public IUserService userService; 或者 Java 代码 1. @Autowired 2. public void setUserDao(@Qualifier(userDao) UserDao userDao) { 3. this.userDao = userDao; 4. } 这样,Spring 会找到id 为userServiceImpl 和userDao 的bean 进行装配。 2). 可能不存在UserDao 实例 Java 代码 1. @Autowired(required = false) 2. public IUserService userService; 3. @Resource 注解 JSR-250 标准注解,推荐使用它来代替Spring 专有的@Autowired 注解。@Resource 的 作用相当于@Autowired,只不过@Autowired 按byType 自动注入,而@Resource 默认按byName 自动注入罢了。@Resource 有两个属性是比较重要的,分别是name 和type,Spring 将 @Resource 注解的name 属性解析为bean 的名字,而type 属性则解析为bean 的类型。所以 如果使用name 属性,则使用byName 的自动注入策略,而使用type 属性时则使用byType 自动注入策略。如果既不指定name 也不指定type 属性,这时将通过反射机制使用byName 自动注入策略。要使@Autowired 能够工作,还需要在配置文件中加入以下: Xml 代码 1. bean class=org.springframework.context.annotation.CommonAnnotationBeanPos tProcessor / @Resource 装配顺序: a.如果同时指定了name 和type,则从Spring上下文中找到唯一匹配的bean进行装配, 找不到则抛出异常 b.如果指定了name,则从上下文中查找名称(id)匹配的bean 进行装配,找不到则抛出 异常 c.如果指定了type,则从上下文中找到类型匹配的唯一bean 进行装配,找不到或者找 到多个,都会抛出异常 d.如果既没有指定name,又没有指定type,则自动按照byName 方式进行装配(见2); 如果没有匹配,则回退为一个原始类型(UserDao)进行匹配,如果匹配则自动装配; 4. @PostConstruct(JSR-250)注解 在方法上加上注解@PostConstruct,这个方法就会在Bean 初始化之后被Spring 容器执 行(注:Bean 初始化包括,实例化Bean,并装配Bean 的属性(依赖注入))。它的一个典型的 应用场景是,当你需

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档