博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring-IOC注解
阅读量:7202 次
发布时间:2019-06-29

本文共 1027 字,大约阅读时间需要 3 分钟。

注解主要的目的就是实现零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方法上。

 

转载地址:http://brwum.baihongyu.com/

你可能感兴趣的文章
Hibernaate Set集合的使用
查看>>
推荐几个笔记类APP,自学提示必备
查看>>
Ruby中的Profiling工具
查看>>
Yii2语言国际化配置
查看>>
4分钟带你走进人工智能的辉煌时期
查看>>
判断输入为汉字的问题
查看>>
magento 银联插件 银行卡支付
查看>>
UEFI win7系统的安装
查看>>
Bootstrap Dialog 使用
查看>>
DNS Server Installation Step by Step Using CentOS 6.5
查看>>
java.sql.SQLException: Before start of result set
查看>>
iOS开发在线参考资料
查看>>
文字,表情,数字常用切换
查看>>
ajax的简单实用
查看>>
用C#将Word转化成PDF 报错“由于出现意外错误,导出失败”解决方案
查看>>
ls颜色问题
查看>>
Python学习基础篇(一)
查看>>
【MySql】2.2 mysql中自增字段 auto_increment 的一些常识
查看>>
ansible 部署基于windows 2008 r2+rsync+alwaysUp(守护进程)
查看>>
精美案例展示:立体动感的视差滚动效果网站作品
查看>>