spring学习--总结IOC(控制反转)
来源:互联网 发布:淘宝抢红包微信群 编辑:程序博客网 时间:2024/06/06 17:06
--IOC(控制反转)是一种概念,一种思想解耦合通过spring容器管理和装配对象,不用自己手动创建对象1.依赖注入(DI)(1)基于XML的DI<bean id="" class=""></bean>注意:id是唯一的,class是类的全限定类名,不能是接口必须提供对应的setter方法初始化方法init-method销毁时方法destory-methoda.设值注入(无参构造方法)i.简单类型数据<property name="属性名" value="普通值"/>ii.引用类型数据<property name="属性名" ref="引用bean的id"/>b.构造注入(有参构造方法)i.简单类型数据<constructor-arg name="形参名" value="普通值"/>ii.引用类型数据<constructor-arg name="形参名" ref="引用bean的id"/><constructor-arg index="形参名的位置,从0开始" ref="引用bean的id"/>c.对于引用类型属性的自动注入i.byName根据名称自动注入<bean autowire="byName"/>ii.byType根据类型自动注入(同类型只能有一个,多了spring就不知道该注入谁)<bean autowire="byType"/>(2)基于Annotation的DIxml中配置组件扫描器<context:component-scan base-package="com.summary.annotation"/>a.相当于bean的id,用来创建对象.只能在类上使用,不指定value属性,bean的id是类名首字母小写@Component("student") --普通Bean@Service --service层@Respository --dao层@Controllerb.给简单类型数据赋值,既可以加到属性上,也可以加到setter方法上@Value("张三")c.给引用类型赋值,通过类型byType,既可以加到属性上,也可以加到setter方法上@Autowiredd.给引用类型赋值,通过名字byName,既可以加到属性上,也可以加到setter方法上@Autowired@Qualifier("classRoom") --别的bean的ide.指定bean对象的作用域@Scope("singleton")-- 默认是单例,只创建一个对象@Scope("prototype")-- 每次getBean()都创建一个新的对象f.Jdk自带的@Resource@Resource --不带参数,默认先byName再byType@Resource(name="") -- byName注入g.bean的生命始末@PostConstruct --在创建对象之后(xml中init-method)@PreDestory --在对象销毁之前(xml中destory-method)2.依赖查找(DL)比较典型的是依赖于JNDI服务接口(Java Naming andDirectory Interface)的查找
阅读全文
0 0
- spring学习--总结IOC(控制反转)
- spring学习笔记(IOC-控制反转)
- Spring学习IoC控制反转(一)
- 【Spring学习笔记】控制反转IoC
- Spring基础学习二 : IOC控制反转
- Spring IOC 反转控制
- Spring-----> IOC(控制反转)
- Spring - 控制反转IOC
- Spring IoC[控制反转]
- Spring控制反转IOC
- Spring IOC控制反转
- Spring IOC 控制反转
- spring ioc 控制反转
- Spring学习(6)Spring核心思想 控制反转Ioc
- Spring 控制反转(IoC)容器
- spring IOC(控制反转)浅析
- Spring IoC(控制反转)
- Spring Core---------IoC控制反转
- 圆柱类
- CentOS 7系统中安装AutoDock Vina
- 你好,
- spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect
- 通过x-shell向云服务器上传文件
- spring学习--总结IOC(控制反转)
- Javascript----Promise初步探究
- 如果你在学嵌入式底层驱动,内核模块编程将是你的第一课!小白学Linux之内核模块编程详解
- leetcode No124. Binary Tree Maximum Path Sum
- C语言读写SQLite数据库
- centOS7下redis3.0安装以及布置集群教程(单机创建多个实例调试)
- Android开发中的五大布局
- log4j日志记录配置的小结
- POJ 1972 Dice Stacking 笔记