注解主要的目的就是实现零XML配置。
一:自动扫描装配Bean。
spring为我们引入了组件自动扫描机制,它可以在类路径底下寻找标注了@Component、@Service、@Controller、@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件是一样的。
1)@Component 将java类标记成一个Spring Bean组件。

2)@Service  将业务层实现类标记成一个Spring Bean组件。

3)@Controller  将表现层类标记成一个Spring Bean组件。

4)@Repository 将一个持久层实现类标记成一个Spring Bean组件。

均拥有value属性,可以取名字;如果没有取名字,默认为类名首字母小写。

二:作用域用scope来指定

用来指定bean的作用域

singleton---单例  只创建一个对象。

prototype---原型  想创建多少个就创建多少了。

request---针对Web项目,不同的请求创建单独的Bean对象,同一个请求共享一个Bean。

session---针对Web项目,不同的会话创建单独的Bean对象,同一个会话共享一个Bean。

三:自动装配(@Autowired)与精确装配

@Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。

1、配置在属性上;

2、配置在set方法上;

3、配置在构造方法上。

自动装配中了解这两个就差不多了

1:byName在容器中寻找和需要自动装配的属性名相同的Bean

2:byType在容器中寻找和需要自动装配的属性类型相同的Bean

@Qualifier配合@Autowired使用。

把按类型配置变为按名称匹配

1、配置在属性上;

2、配置在set方法上;

3、配置在构造方法的参数上。

@Resource  (这个注解是最强的)

@Resource注解默认按名称装配。名称可以通过name属性指定,如果没有指定name属性,默认取属性的名称作为bean名称寻找依赖对象。

注意:如果没有指定name属性,并且按照默认的名称找不到依赖对象时,@Resource会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。

1、配置在属性上;

2、配置在set方法上。

Spring-IOC注解的更多相关文章

  1. spring IOC注解与xml配置

    转载自:https://blog.csdn.net/u014292162/article/details/52277756 IOC 1小案例 将对象的依赖交给配置文件来配置(配置文件的名字是可以任意的 ...

  2. spring IOC注解方式详解

    本文分为三个部分:概述.使用注解进行属性注入.使用注解进行Bean的自动定义. 一,概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以 ...

  3. spring ioc 注解配置

    要注意spring 版本与jdk的兼容性 applicationContext-resource.xml: <beans xmlns="http://www.springframewo ...

  4. spring IOC 注解@Required

    @Required注解适用于bean属性的setter方法,使用@Required的方法必须在xml中填充,负责报错 例如下面的例子中,student中的setAge和setName有@Require ...

  5. spring IOC 注解@Resource

    1.@Resource(重要)a)加入 :j2ee/common-annotations.jar b)默认按名称,名称找不到,按类型 默认按照名称setName1到xml中找和id相同的,没有的话再找 ...

  6. spring IOC 注解@Autowired

    自动装配:按照类型来找 会在xml中找类型一样的, 比如 setMessage(SetName setName)上面有@Autowired,会到xml中找<bean id="setna ...

  7. Spring _day02_IoC注解开发入门

    1.Spring IoC注解开发入门 1.1 注解开发案例: 创建项目所需要的jar,四个基本的包(beans core context expression ),以及两个日志记录的包,还要AOP的包 ...

  8. Spring IOC的描述和Spring的注解(转)

    Spring常用的注解 本文系转载:转载网址: http://www.cnblogs.com/xdp-gacl/p/3495887.html http://ljhzzyx.blog.163.com/b ...

  9. Spring IOC之基于注解的容器配置

    Spring配置中注解比XML更好吗?基于注解的配置的介绍提出的问题是否这种途径比XML更好.简单来说就是视情况而定. 长一点的答案是每一种方法都有自己的长处也不足,而且这个通常取决于开发者决定哪一种 ...

  10. 纯注解快速使用spring IOC容器

    使用spring的ioc容器实现对bean的管理与基本的依赖注入是再经典的应用了.基础使用不在详述. 这里主要介绍下使用注解实现零配置的spring容器.我相信你也会更喜欢使用这种方式.Spring ...

随机推荐

  1. 对工程测量大师App的评价

    我是测绘工程专业的学生,去年由于同学的推荐我开始使用工程测量大师这款App. 工程测量大师是一款非常方便的测量计算软件,用户将测量的数据输入后,软件就可以帮助你得到精确的计算结果.操作非常简单,使用起 ...

  2. 第87讲:scala中使用For表达式做查询

    今天我们来学习下如何用for表达式在scala中做查询. 先来看看示例代码 case class Book(title:String,authors:List[String]) object text ...

  3. floyd算法之最小环问题

    最小环问题:都比较容易得到从u 到 v 经过中间某一些结点的最短路,但是我们得确保回来的时候,不能经过那些结点,这样我们就需要改一下floyd算法了 进而我们想到用Floyd算法.我们知道,Floyd ...

  4. day07_雷神_面向对象进阶

    day07 1.接口类(抽象类) 接口类和抽象类是一种规范,写代码时的规范. 两个思想: 一个是统一接口,一个是定义规则. 最终版本:接口类,抽象类,是一种规范,写代码时的规范 强制性的规定. fro ...

  5. 使用NetHogs监控进程网络使用情况

    Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. 使 ...

  6. node-webkit学习(3)Native UI API概览

    node-webkit学习(3)Native UI API概览 文/玄魂 目录 node-webkit学习(3)Native UI API概览 前言 3.1  Native UI api概览 Exte ...

  7. EMACS快捷键

    C = Control M = Meta = Alt | Esc Del = Backspace 基本快捷键(Basic) C-x C-f "find"文件, 即在缓冲区打开/新建 ...

  8. Java基础巩固计划

    3.26-4.1 JVM 虚拟机的内容写五篇博客 解决以下问题: 1. Java的内存模型以及GC算法 2. jvm性能调优都做了什么 3. 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情 ...

  9. linux下mysql的远程访问

    安装了虚拟机centos,安装mysql后,在win7下无法用工具访问mysql.提示连接失败. 1.授权远程访问. GRANT ALL PRIVILEGES ON databasename.* TO ...

  10. Swift 里 Array (二)初始化

    init() 函数 在 Array 里 public init() { _buffer = _Buffer() } 以Buffer 是 _ContiguousArrayBuffer 为例. 即初始化了 ...