挑战SSM!(1)

一、战斗伊始:Spring

Spring是一个开源框架,一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。从大小和开销而言Spring都是轻量的;通过控制反转(IoC)达到松耦合;提供面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发;包含并管理应用对象的配置和生命周期,这种意义上是容器;将简单的组件配置组合成为复杂的应用,这种意义上是框架。

  • Spring把它管理的对象叫做bean;
  • 控制反转就是把控制权交出去,返回我们能使用的对象;
  • IOC(配置、注解)
  • Bean(配置、注解):在Spring里把由他管理的东西都叫Bean
  • AOP(配置、注解、AspectJ、API)
  • http://spring.io/ //官网首页,有很多项目的介绍
  • http://projects.spring.io/spring-framework //提供了很多文档和例子等
1、IoC容器(通过bean配置来取得对象,而不用new来取得对象了)

(1)接口与面向接口编程
(2)IOC控制反转(获得依赖对象的过程被反转了,于是控制反转有一个更适合的名字依赖注入,这实际上给了实现IOC的方法:注入):控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器(Spring容器)负责创建和维护;
(3)DI依赖注入(由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中)是控制反转的一种实现方式;IOC目的是创建对象并组装对象之间的关系。

房屋租赁IOC容器
房屋中介IOC
找中介找IOC容器
中介介绍房子容器返回对象
租房、入住使用对象
补充:单元测试
  1. 下载junit-*.jar包并引入工程
  2. 创建UnitTestBase类,完成对Spring配置文件的加载、销毁(Before是在单元测试方法之前执行的内容,context就是我们所说的spring的容器,当他启动之后会在配置文件里面查找信息,并把这些信息解析加载到context这个上下文里面,After是在单元测试方法之后执行的内容);
  3. 所有单元测试类都继承自UnitTestBase,(子类通过创造构造器传入XML文件位置)通过他的context的getBean方法获取想要得到的对象;
  4. 子类加注解@RunWith(BlockJUnit4ClassRunner.class)
  5. 单元测试方法加注解@Test

(3)Bean容器的初始化涉及到两个基础包org.springframework.beans和org.springframework.context,第一个包中主要是BeanFactory类提供配置结构和基本功能,加载并初始化Bean,第二个包中主要是ApplicationContext保存了Bean对象(容器);

(4)初始化加载ApplicationContext方法
  • 本地文件
  • Classpath
  • Web应用中依赖servlet或listener
    这里写图片描述
    (5)Spring注入是指在启动Spring的IOC容器加载bean配置的时候完成对变量的赋值行为。常用注入方式:设值注入(必须有set方法)和构造注入(必须有构造器)。例如:在Service里面去完成业务逻辑的处理,然后调用Dao把最终数据保存到数据库中。
<bean id="injectionDao" class="com.ioc.interfaces.InjectionDaoImpl"></bean>
    <!--设值注入-->
    <bean id="injectionService" class="com.ioc.interfaces.InjectionServiceImpl">
        <property name="injectionDao" ref="injectionDao"></property>
    </bean>
    <!--构造注入-->
    <bean id="injectionService" class="com.ioc.interfaces.InjectionServiceImpl">
        <constructor-arg name="injectionDao" ref="injectionDao"></constructor-arg>
    </bean>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值