606的Spring笔记

Spring第一章

一、spring的作用
Spring可以解决业务逻辑层和其他各层的耦合问题,也是一个框架的粘合剂,它让面向接口编程思想贯穿了整个系统,特点:高内聚,低耦合,设计层框架!
主要学习spring的以下部分:
(1)IOC思想
(2)AOP编程
(3)声明式事务的支持
(4)框架无缝整合其他框架

二、常见模块?
20多个子模块,模块按组7大块,核心容器、数据访问/集成,Web,AOP(面向切面编程)、设备、消息和测试

三、Spring环境搭建?
1.右击resource文件:
2.规范命名配置文件
applicationContext.xml
3.建好后,点击右上角黄色线…application context之后点ok创建完毕
4.在里面创建对象
5.用spring框架在测试类调用对象

四、IOC是什么?
控制反转,调用者的实例创建不再由调用者自己创建,而是由spring容器创建,这个过程把实例创建的控制权由应用代码转移到了外部容器,控制权发生了改变。

五、DI是什么?
依赖注入,给对象赋属性值,一定要保留空的构造方法和get/set的方法!

六、Bean标签里四个属性的作用:
1.Name属性:给对象取名,名字可以同时取多个,但是不同的对象不能重复(大名id只能一个,小名name可以多个,但是不可以跟别的小名重复)
2.Scope对象作用域属性:
1)scope = “singleton” 默认值,Spring容器默认创建的对象是单例!
2)scope=“prototype” 创建的对象是多例(每次使用对象的时候额外创建一个新的
3)scope=“session” 表示在一次会话范围内,Spring容器中的对象保持一个,公用同一个!
4)scope=“request” 表示在一次请求范围内,Spring容器中的对象保持一个,公用同一个
注意:后两个只能用在web项目里

3.对象懒创建(只有在scope = "singleton"才会生效)
lazy-init表示对象的加载时机(true:懒加载(使用对象的时候才创建);false(spring框架一启动就加载))
4.对象创建完成后调用的方法,和对象销毁后调用的方法
init-method=“对象创建完成后调用的方法”
destroy-method=“对象销毁后调用的方法”

七、spring创建对象的四种方式?
(1)用无参构造方法创建

1 2 3 4 5 6 (2)用带参的构造方法创建对象
<bean id="p3" class="com.swjd.bean.Person">
    <constructor-arg index="0" type="int" value="9528"></constructor-arg>
    <constructor-arg index="1" type="java.lang.String" value="德玛西亚"></constructor-arg>
    <constructor-arg index="2" type="java.lang.String" value="男"></constructor-arg>
</bean>

1
2
3
4
5
6
(3)用静态工厂创建对象

<bean id="p4" class="com.swjd.beanfactory.PersonFactory" factory-method="createPerson"></bean>

1
2
(4)用非静态工厂创建对象

<bean id="noStaticfactory" class="com.swjd.beanfactory.NoStaticPersonFactory"></bean>
<bean id="p5" factory-bean="noStaticfactory" factory-method="createPerson"></bean>

1
2
3

八、Spring依赖注入的4种方式?
1.调用set方法注入

<bean id="m1" class="com.swjd.bean.Man">
    <!--第一种:依赖注入的方式:set注入-->
    <property name="id" value="1"/>
    <property name="name" value="刘德华"/>
    <property name="age" value="48"/>
   <!-- <property name="dog" ref="d1"/>-->
    <property name="dog">
        <ref bean="d1"/>
    </property>
</bean>

1
2
3
4
5
6
7
8
9
10
2.调用带参的构造方法注入

1 2 3 4 5 6 7 3.P命名空间注入(本质依旧是set注入,语法简洁一些)


1
4.Spel表达式注入

1 2 3 4 5 -----------------------以上为基本注入类型-----------------------

九、复杂类型的注入:
(1)注入对象
(2)注入数组

<property name="hobbies">
            <array>
                <value>学习</value>
                <value>唱歌</value>
                <value>豪车</value>
            </array>
</property>
``
1
2
3
4
5
6
7
(3)注入集合

List:

1234 1234 ``` 1 2 3 4 5 6
 <property name="boyFriends">
        <set>
            <value>12345</value>
            <value>12345</value>
        </set>
    </property>

1
2
3
4
5
6
(4)注入map

 <property name="map">
        <map>
            <entry key="cn" value="中国"/>
            <entry key="ru" value="俄罗斯"/>
        </map>
    </property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值