Spring初入配置~六

作者: 胖琪的升级之路 | 来源:发表于2017-03-29 23:18 被阅读45次

hai最近因为产品上线导致一段时间没有更新,从今天开始恢复两天一更新的状态,望大家多多关注。

继续接着我们上次所说的来讲解,使用注解装配。在Spring 中容器 是默认禁用注解装配。我们需要在使用注解装配前将其启用。最简单的方式是使用<context:annotation-config>元素,如图所示,在beans上直接配置自动扫描

来自Spring实战第三版

配置好完成后,我们就可以在代码中使用注解的方式。来装配。

Spring3知己以下几种自动装配的注解:1 Spring自带的@Autowired注解  2 JSR-330的@Inject注解 3JSR-250的@Resource注解

首先介绍的是@Autowired注解:如图所示我们可以在方法上使用注解

来自Spring实战第三版

使用该注解 会执行ByType自动装配。我们不仅可以标注在方法上还可以标注在属性上并且删除setter方法

来自Spring实战第三版

但是我们在使用过该注解时会出现一些麻烦,比如没有匹配到Bean或者匹配到多个Bean就会,就会直接抛出异常。导致错误。

我们在装配的时候属性不一定需要装配我们可以在使用注解时加上required=false属性来人让其属性值为Null

来自Spring实战第三版

但是该方法在使用的时候有个需要注意的点是,在使用构造器装配时,只有一个构造器可以使requeired=true;其他只能设置成false。

第二种方式注入:

借用@Inject实现标准的自动装配

来自Spring实战第三版

这个注解跟@Autowired一样;但是有一点因为他没有required属性那么所以来的关系必须存在,如果不存在就会出现异常。

除了该注解,JSR-330还提供了了另外一个方式,在注入@Inject时注入一个Provider例如

来自Spring实战第三版

这样我们就可以得到其作用域,或得到不同的对象,自我感觉使用这个没有使用Spring自带的方便(ps个人感觉,可能开发的时候使用自带比较多的缘故)。就如我们刚才在上面所说的他们两者有很多的共同点,@Autowired中还有@Qualifier属性,在@Inject中也有类似的属性是使用的@Name注解。

@Qualifier帮助我们缩小了所匹配的Bean的范围,而@Name通过Bean的ID来标识可选择的Bean。

两种注入方式就先说到这里,本文章只是简单的总结一些用法。简单的了解注入的不同。

除了这些注入之外,我们还有自动检测Bean的需求

来自Spring实战第三版

<context:component-scan>标签元素会扫描制定包内 的自动注册Spring Bean的类。

他是如何实现的呢,是因为我们会在包中扫描到以下注解

来自Spring实战第三版

只要在Bean上制定这些注解,那么Spring在扫描的时候会主动为其注入。

关于自动注入的就写到这里,有其他的注解在这里没有写到的请看Spring官方文档解释。

下一章我们将开始介绍面向切面的Spring。

相关文章

  • Spring初入配置~六

    hai最近因为产品上线导致一段时间没有更新,从今天开始恢复两天一更新的状态,望大家多多关注。 继续接着我们上次所说...

  • 初入spring配置

    初入公司已经半年多了,在代码上可能应用已经熟悉了但是感觉自己啥也不会了!正好家里面有本关于spring实战的书,正...

  • Spring初入配置~十一

    在上一篇中我们进行了控制器方法的编写,只是简单的配置了下视图渲染。这一篇中我会介绍有关jsp模型的数据。 1视图解...

  • Spring初入配置~十二

    1使用Apache Tiles视图定义布局 在jsp中布局并不是做的很好,最好的方式就是使用布局引擎。我们在这里介...

  • Spring初入配置~十三

    首先我们在前面介绍的springMVC已经是很强大的内容了,但是我们还是想说下其他的方案。虽然我的内容还是Spri...

  • Spring初入配置~十四

    前一篇我们简单的说了下用其他的方式来创建SprignMVC,我们这一篇说下怎么处理multipart形式的数据。我...

  • Spring 初入配置~二

    上篇文章简单的把构造方法注入类型介绍了下,本篇作为第二篇接着把注入属性介绍下! 除了构造方法能注入属性,我们还能通...

  • Spring初入配置~十

    构建Spring Web应用程序 这篇简单的来说就是初次使用Spring MVC. 每当用户从浏览器点击链接或者提...

  • Spring初入配置~七

    这次总结的是我们面向切面的Spring. 首先我们先看下关于面向切面编程 的概念。什么是面向切面编程呢? 我们通常...

  • Spring初入配置~八

    上篇文章我们简单的介绍了下AOP相关的术语,这篇中我们主要来看下怎么在Spring中实现的。 一、Spring提供...

网友评论

    本文标题:Spring初入配置~六

    本文链接:https://www.haomeiwen.com/subject/qavsottx.html