Spring框架 (一)

1.框架的好处

框架就是经过长期验证过的半成品软件,高内聚,低耦合!

  1. 提高开发效率
  2. 增加代码的重用性
  3. 提供编写规范
  4. 节约维护成本   
  5. 解耦底层实现原理

2.Spring体系

2.1 Spring框架

核心容器
  • beans
  • core
  • context
  • springEL
中间层技术AOP、Aspects 老生常谈了
应用层技术提供数据集成方案、web集成、web应用
测试技术test 单元测试

2.2 Spring优势

  1. 方便解耦,简化开发
  2. 可以继承优秀的框架
  3. 方便程序的测试
  4. AOP编程的支持
  5. 申明事务的支持
  6. 降低JavaEE api的使用难度
  7. java源码是经典的学习例子

3. SpringIoc的雏形

3.1 spring的入门代码

import com.zx.Service.Userservice;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {
    public static void main(String[] args) {
        /**
         * 加载配置文件
         */
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        /**
         * 从容器中拿到对应的bean
         */
        Userservice mytest = (Userservice) classPathXmlApplicationContext.getBean("mytest");
        mytest.test();
    }
}

3.2 scope配置作用

<!--scope 属性
    singleton 单列模式,在spring创建的时候生成bean 对象
    prototype 多例模式,在获取的时候才会创建对象
    这个有兴趣可以研究一下源码
    -->
    <bean id="mytest2" scope="prototype" name="userservice1,userservice2" class="com.zx.Service.Impl.UserserviceImpl"></bean>

3.2 init 和 destory

init 什么时候加载看是单例还是多例,不管是那种方式,都是在创建的时候执行init方法

destory 方法是在关闭的时候,执行,spring容器有对应的关闭方法

classPathXmlApplicationContext.close();

 3.3 静态工厂和实例工厂

这边实际上是兼容老代码而做的bean加载 

 3.4 DI

依赖注入,实际上和IOC是一样的概念,只是角度不同,对于spring容器来说是控制反转,就是你要什么问我拿,这叫控制反转,如果站在应用的角度,就是我要什么问你拿,对我我来说就是依赖注入。

题外话,为了方便理解,半杯水问题,乐观的人看待就是还有半杯水,悲观的人会觉得只有半杯水

3.5 setter注入

3.6 构造器注入(很少用到,知道就行)

 3.7 集合注入

 

3.8 P标签的使用

 3.9 SpEL表达式

 4.实用配置

去读配置文件的信息

4.1 import 导入子配置文件

<import resource="applicationContext-test.xml"></import>

这边有个注意点就是一个配置文件里面不能出现多个bean 相同的id

多个配置文件里面有相同id的bean 后者覆盖前者

4.2 重要的三个对象

后续读源码可以仔细剖析 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值