1、spring的概述
spring是什么
spring的两大核心 IOC Dl
spring的发展历程和优势
1、方便解耦,简化开发
通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造
成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可
以更专注于上层的应用。
2、AOP 编程的支持
通过 Spring 的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以
通过 AOP 轻松应付。
3、声明式事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,
提高开发效率和质量。
4、方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可
做的事情。
5、方便集成各种优秀框架
Spring 可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz
等)的直接支持。
6、降低 JavaEE API 的使用难度
Spring 对 JavaEE API(如 JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些 API 的
使用难度大为降低。
7、Java 源码是经典学习范例
Spring 的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对 Java 设计模式灵活运用以
及对 Java 技术的高深造诣。它的源代码无意是 Java 技术的最佳实践的范例。
spring体系结构
3、IOC概念和spring中的IOC
4、Spring对bean的管理细节
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--把对象的创建交给spring来管理--> <!--spring对bean的管理细节 1、创建bean的三种方式 2、bean的作用范围 3、bean的生命周期 --> <!--1、创建bean的三种方式 --> <!-- 创建的第一种方式,使用默认的构造函数--> <!-- <bean id="accountService" class="cn.edu.hznu.service.impl.AccountServiceImpl"></bean>--> <!-- 创建的第二种方式,使用工厂(其他类中的方法)中创建对象--> <!-- <bean id="InstanceFactory" class="cn.edu.hznu.factory.InstanceFactory"></bean>--> <!-- <bean id="accountService" factory-bean="InstanceFactory" factory-method="getAccountService"></bean>--> <!-- 创建的第三种方式,使用静态工厂(其他类中的方法)中创建对象--> <!-- <bean id="accountService" class="cn.edu.hznu.factory.staticFactory" factory-method="getAccountService"></bean>--> <!--2、bean的作用范围 singleton 单例 默认值 prototype 多例 request:web session:web会话 global-session:全局会话 --> <!-- <bean id="accountService" class="cn.edu.hznu.service.impl.AccountServiceImpl" scope="singleton"></bean>--> <!-- 3、bean的生命周期 singleton 单例 出生:伴随这文件解析完,即容器创建后而创建 死亡:容器销毁,对象销毁 prototype 多例 出生:使用时创建 死亡:java垃圾回收机制销毁 --> <bean id="accountService" class="cn.edu.hznu.service.impl.AccountServiceImpl" init-method="init" destroy-method="destory"></bean> </beans>