Spring(1)

IOC

1.概念
1.1 叫做控制反转,也可以叫做依赖注入
对象之间的依赖关系交给Spring来处理.
对象之间的耦合是通过xml文件来处理.
1.2 优点
模块之间的关系低耦合,容易测试,容易维护.

2.基本使用
2.1首先要挑选合适的容器.
BeanFactory 是Core Spring的工厂,也是最基本的.
ApplicationContext 属于Spring Context.是BeanFactory的子类,用于C/S架构
WebApplicationContext 也是BeanFactory的子类,用于B/S架构
2.2 获得容器
先写配置文件xml,文件名不重要,但是要符合相应的DTD或者Schme;
实例化容器,比如ApplicationContext的就是ClasspathxmlApplicationContext
2.3 装配方式
2.3.1 基于set的装配
2.3.1.1 基本类型
<property name="属性名" value="属性值">
//Spring会自动转换为相应的类型,若强转失败就抛异常
2.3.1.2 对象类型
<property name="属性名">
<ref local="id">//指的是本xml文件内,或者用bean,指的是所有已经被加载的xml文件
</property>
2.3.1.3 集合类型
list
<property name="属性名">
<list>
//里面可以跟基本类型,也可以是对象.可以参考上面.
</list>

Set
就是Set标签,里面跟上面一样,唯一的不同在于若放入相同的元素会被剔除.

map
<key="" value="">
也可以是对象<key-ref="" value-ref="">
若是用local的话,就再加一层标签.

properties
因为是字符串,故会简单很多.
要注意的是,这里的value不能作为标签的属性.
<props>
<prop key="key3">value3</prop>
</props>
</property>


2.3.2 基于构造器
做一个有参构造器.在xml使用<constructor-arg>标签,但一个标签只能是一个形参.
要注意的是,这里的次序不能乱排,要跟有参构造器里的一致.

2.3.3 基于构造器和基于set的区别
构造器的会有循环依赖问题.而且若属性过多,构造器的写法会很繁多.

3.高级使用
3.1 自动装配
根据提示来装配对象,注意,这里只适合对象,当然也可以用基本使用方式来做基本类型的创建.
autowire="byName" 根据属性名来匹配bean的id.
autowire="byType" 根据Set方法的形参属性的类型来跟bean的类型匹配
autowire="constructor" 根据构造方法里的形参类型
autowire="autodetect" 自动选择,若有无参构造方式就用set,不然就用构造方式的(注意,这里的选择是针对基本使用).
3.2 工厂方式的装配
3.2.1 简单工
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值