Spring学习第一天

1.1 Spring是什么?

Spring是分层的 Java se/EE 应用 full-stack轻量级开源框架,以IoC(Inverse of Control:反转控制)和AOP(Aspect Oriented programming:面向切面编程)为内核。

IoC:反转Bean的创建权

应用场景:提供了 展现层SpringMVC 和 持久层Spring JDBCTemplate 以及业务层事务管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 JAVA EE 企业应用开源框架

1.2 Spring发展历程

1.1997年,IBM提出EJB思想

2.1998年,SUN制定开发标准规范EJB1.0

3.1999年,EJB1.1发布

4.2001年,  EJB2.0发布

5.2006年,EJB3.0发布

1.3 Spring的优势

1.方便解耦,简化开发

解耦:把对象的创建权交由Spring 去完成,获取对象时,直接找容器。

通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合,用户也不必再为单例模式类,属性文件解析等,这些底层的需求编写代码,可以更加注重于上层应用。

2.AOP编程支持

通过Spring的AOP功能方便进行面向切面编程,许多不容易用OOP实现的功能可以通过AOP轻松实现

3.声明式各事务的支持

可以将我们从单调的事务管理代码中解脱出来,通过声明方式灵活进行事务管理,提高开发效率和质量

4.方便程序测试

可以用非容器依赖的方式编程,镜像几乎所有的测试工作,测试不再是高昂的操作,而是随手可做的事情

5.方便集成各种优先的框架

Spring对各种优秀框架(Struts ,Hiberuat,Hessian,Quartz等)的支持

6.降低 Java EE API的使用难度

Spring 对 JAVA EE API(如JDBC,JavaMAil,远程调用等)进行了薄薄的封装层,使用API的使用难度大大降低

7.Java 源码是经典的学习范例

Spring 的源代码设计精妙,结构清晰,是Java技术的最佳实践范例

1.4 Spring的体系结构

Spring Framework Runtime

1.首先从Test测试层开始

2.之后是核心容器

其中包含了Beans ,Core,Context,SpEL

3.AOP,Aspects,instrumentation,Messaging

4.web层中包含了WebSocket,Servlet,web,portiet

5.Data Access/Integration其中包含了JDBC ,ORM, OXM ,JMS,transactions

 

2 Spring快速入门

2.1 Spring程序开发步骤

1.导入Spring开发的基本坐标

2.编写Dao接口实现类

3.创建Spring核心配置文件

4.再Spring配置文件中配置UserDaoImpl

5.使用SPringle的API活得Bean实例

2.2 Spring的开发步骤

1.导入坐标

2.创建Bean

3.创建applicationContext.xml

4.在配置文件中进行配置

5.创建ApplicationContext对象使用getBean方法获取Bean

 

2.3 Spring配置文件

1.Bean标签的基本配置

1)用于配置对戏交于Spring来创建

2)默认情况下它是调用类中无参构造函数,如果没有无参构造函数则不能创建成功

基本属性:

1/. id:Bean实例在Spring容器中的唯一标识

2/. class:Bean的全限定名

2.Bean标签的范围配置

Scope:指对象作用范围,取值如下。

取值范围    说明

singleton    默认值,单例的

prototype    多例的

request     WEB项目中,Spring创建一个Bean对象,将对象存入到request域中

session    WEB项目中,SPringle创建一个Bean对象,将对象存入到session域中

global session    WEB项目中,应用Portlet环境中,如果没有Portlet环境,那么global session相当于session

3.创建时机

1)当scope的取值为singleton时

Bean的实例化个数为:1个

Bean的实例化时机:当spring核心文件被加载时,实例化配置文件的Bean实例

Bean的生命周期:取决于容器状态

1.对象创建:当应用加载,创建容器时,对象就被创建了

2.对象运行:只要容器在对象就一直活着

3.对象销毁:当应用卸载,销毁容器时,对象就被销毁了

 

2)当Scope的取值为prototype时

Bean的实例化个数为:多个

Bean的实例化时机:当调用getBean方法时,实例化Bean

Bean的生命周期:取决于对象使用状态

1.对象创建:当使用对象,创建新的对象实例

2.对象运行:只要对象在使用中,就一直活着

3.对象销毁:当对象长时间不用时,被Java的垃圾回收器回收了

 

4.Bean生命周期配置

1.init-method:指定类中的初始化方法名称

2.destroy-method:指定类中销毁的方法名称

 

5.Bean实例化的三种方式

1.无参构造方法实例化

2.工厂静态方法实例化

3.工厂实例方法实例化

 

工厂方法应用场景:如在JDBC中获取Connection,通过DriverManager驱动获取Bean。

posted @ 2022-01-09 13:11  筝弈  阅读(30)  评论(0)    收藏  举报
2 3
4