spring框架学习(一) 依赖注入,其方式我这里记录四种

spring : 轻量级,一站式的企业应用框架
设计理念: 面向Bean的编程
核心思想:
One: 依赖注入:(Ioc和Di) 控制反转和依赖注入
Two:面向切面编程: Aop
有点:
1/低侵入式设计
2/独立于各种应用服务器
3/依赖注入特性将组建透明化 降低了耦合
—>对象和对象之间,在发生调用关系的时候 ,这种调用关系是交给ioc容器进行的, 作为使用者不在关心被调用者是怎么实现的,我们集中精力关注调用者内部是怎么实现…….后边会补充本块儿内容….
4/ 面向切面编程特性允许将通用任务集中处理
5/与第三方框架的良好整合
Ioc:的定义和原理
将组件的控制权从代码本身转交给外部容器
组件化的思想:分离关注点,使用接口 不在关注实现
比如:
传统版本:创建A类 在A类中调用B类的时候 ,需要New一个B的对象
这个时候就是A类在获取B类的控制权,

工厂模式:根据需要创建对象实例,为我们返回所需的产品
1/产品的规范
2/产品
3/工厂
4/客户端调用

案例:
引入spring的四个包 core Context Expression beans
1/创建类
2/创建Application.cfg.xml
3/配置Bean

  <!--声明spring创建的对象实例,id属性指定对象的标识符, Class属性指定被声明的实例的类-->
    <bean id="hellospring" class="HelloSpring">
        <!--指定属性名字 ,对应方法里的SetXXX的XXX-->
        <property name="who">
            <!--指定被复制的内容-->
            <value>Spring  ASDFASDFADS  FASD</value>
        </property>
    </bean>

依赖注入的方式有: P命名空间注入属性值 前提在xml中导入
xmlns:p = “http://www.springframework .org/schema/p
在注入属性值的时候 格式如下
p:属性名 = 值
p:属性名-ref = bean的id

设值注入及多种情况
1/ 当遇到特殊字符需要注入属性值的时候 ,

<property name="who">
            <!--指定被复制的内容-->
            <value><![CDATA[D&A]]></value>
        </property>
还可以将特殊字符转化为实体引用 .   [这里写链接内容](https://www.cnblogs.com/garinzhang/p/spring_Special_char_encode.html)

2/集合数组注入 标签是

内部value有多组 还有等
与list集合对应的标签
同样 map 集合注入 对应标签
不过他<map>
<entry>
<key><value></value></key>
<value></value>
</entry>
</map>

        set集合 <set>
        properties类型数据  注入 用
        <props>
        <prop  key="">XXX </prop>
        </props>      

3/构造注入,
与设值注入不同的是他神根据有参的构造方法实例的
时效性比之要好一些
构造注入中 index 尚需经确定参数位置
特殊情况是 还可以用type指定传入的参数数据类型
构造注入 灵活性要比 设值注入差

4/注解注入;
此处后边补充.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值