Spring是一个轻量级的容器框架,具有如下优点:
方便解耦,简化开发;Aop编程的支持;声明式事务的支持;方便程序的测试;
方便集成各种优秀框架;降低JavaEE API的使用难度
Spring程序开发步骤①导入 Spring 开发的基本包坐标 ②编写 Dao 接口和实现类 ③创建 Spring 核心配置文件 ④在 Spring 配置文件中配置 UserDaoImpl ⑤使用 Spring 的 API 获得 Bean 实例 Bean标签基本配置用于配置对象交由Spring 来创建。 默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功。 基本属性: id:Bean实例在Spring容器中的唯一标识 class:Bean的全限定名称
Bean标签范围配置scope:指对象的作用范围,取值如下: [td]取值范围 | 说明 | singleton | 默认值,单例的 | prototype | 多例的 | request | WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中 | session | WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中 | global session | WEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境那么globalSession 相当于 session |
1)当scope的取值为singleton时 Bean的实例化个数:1个 Bean的实例化时机:当Spring核心文件被 加载时,实例化配置的Bean实例 Bean的生命周期: 对象创建:当应用加载,创建容器时,对象就被创建了 对象运行:只要容器在,对象一直活着 对象销毁:当应用卸载,销毁容器时,对象就被销毁了 2)当scope的取值为prototype时 Bean的实例化个数:多个 Bean的实例化时机:当调用getBean()方法时实例化Bean 对象创建:当使用对象时,创建新的对象实例 对象运行:只要对象在使用中,就一直活着 对象销毁:当对象长时间不用时,被 Java 的垃圾回收器回收了 Bean生命周期配置init-method:指定类中的初始化方法名称 destroy-method:指定类中销毁方法名称 spring相关APIapplicationContext:接口类型,代表应用上下文,可以通过其实例获得 Spring 容器中的 Bean 对象
ApplicationContext的实现类1)ClassPathXmlApplicationContext 它是从类的根路径下加载配置文件 推荐使用这种 2)FileSystemXmlApplicationContext 它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。 3)AnnotationConfigApplicationContext 当使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解 什么是 AOP,作用及其优势AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 |