一.Spring的优点
- 方便解耦,简化开发。
- AOP编程支持。
- 声明式事务的支持。
- 方便程序进行测试。
- 方便集成各种优秀框架。
- 降低JAVA EE API的使用难度。
二、Spring核心
Spring的核心即(IOC/DI),主要包括Beans、Core、Context、SPEL。
三、Spring开发步骤
- 导入Spring对应的Maven坐标。
- 编写Dao接口以及Dao接口的实现类。
- 创建ApplicationContext.xml文件。
- 在ApplicationContext.xml文件的bean标签中给定唯一标识id,并在class中填写对应Dao接口实现类的全限定类名。
- 在业务层Service中,通过Spring的客户端(ApplicationContext)的子类实现对ApplicationContext.xml文件的读取,并利用getBean()方法调用Dao接口实现类的无参构造进行对象获取。
四、Spring标签(bean)
-
bean:id属性唯一标识,class全限定类名。
-
bean作用范围配置:
①Singleton:单例的,只会创建一个对象实例。
②Prototype:多例的(原型的),创建多个对象实例。
③request、session、global session用于Web环境下存储Bean对象。 -
Singleton和Prototype会导致Bean的创建时机不同。Singleton中Bean在读取xml文件时,创建Dao对象;Prototype在getBean()方法调用时创建对象。
-
对象销毁:Singleton于应用程序卸载时进行销毁;Prototype于对象长时间不使用时进行销毁。
-
Bean生命周期:init-method配置初始化方法;destroy-method配置销毁方法。注:无参构造方法先于初始化方法。
-
Bean实例化的三种方式:
①无参构造对象实例化:通过Dao的无参构造方法的反射机制,进行对象创建。
②工厂静态对象实例化:class中填写工厂类的全限定类名,factory-method中填写工厂方法。
③工厂实例对象实例化:给定两个bean标签,其中第一个的id唯一标识工厂,class填写工厂全限定类名,第二个bean中id唯一标识Dao接口实现类,factory-bean标识工厂id,factory-method填写工厂方法。