注解主要的目的就是实现零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. jvm虚拟机---执行引擎子系统

    Java虚拟机只与Class文件相关联,它规定了Class文件应该具有的格式,而不论该文件是由什么语言编写并编译而来.所以,任何语言只要能够最终编译成符合Java虚拟机要求的Class文件,就可以运行 ...

  2. bootstrap datetimepicker

    一.datepicker 早期的 二.datetimepicker 适用于bootstrap2,3兼容性不太好 三.在github上找了个不错的:https://github.com/Eonasdan ...

  3. A - Playground

    My kid's school cleared a large field on their property recently to convert it into a playing area.  ...

  4. 判断闰年的Java算法

    判断方法 普通年能被4整除且不能被100整除的为闰年. 世纪年能被400整除的是闰年 对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年.如172800年是闰年,86400年不 ...

  5. Canvas教程

    一.Canvas基本用法 canvas对应中文是“画布”,<canvas>是HTML5的新元素,IE9+支持 canvas元素的默认大小是300px * 150px,最简单的代码将生成一个 ...

  6. UWP 多语言的三个概念

    首先了解一下 RFC4646 和 BCP-47 是什么东西: RFC4646 The name is a combination of an ISO 639 two-letter lowercase ...

  7. js中两种for循环的使用

    针对两种for循环的使用 1. for in循环的使用环境     可用在字符串.数组.对象中, 需注意:其中遍历对象得到的是每个key  的value值  2. for 变量递加的方式        ...

  8. mysql多列索引

    1,数据库每次查询只能使用一个索引 2,假设数据 表T (a,b,c) rowid 为物理位置rowid a b c(1) 1 1 1(2) 2 1 13(3) 2 2 14(4) 1 3 3(5)  ...

  9. mac终端常用命令

    1.du #查看文件目录大小 示例:查看DataCenter目录下所有文件/文件夹的大小 everSeeker:DataCenter pingping$ -h .9G ./Books 1.2M ./C ...

  10. Unable to preventDefault inside passive event listener due to target being treated as passive?

    使用滚动时候,新版google浏览器,会弹出如下的警告. 解决方法,可以加上* { touch-action: none; } 这句样式去掉. 其原因:https://developers.googl ...