ssm框架复习巩固

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ssm框架复习巩固脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第四天:sPRing框架 spring的IOC 

Spring   javaEE灵魂框架

1. IOC(控制反转)

2. IOC注解开发

3. AOP(面向切面编程)(难点)

4. Spring的事物管理

#Spring  概述

##1.1 spring  概述

###1.1.1 spring  是什么

Spring是分层的 Java SE/EE应用 一站式 轻量级开框架,以 IoC(Inverse Of Control:

反转控制)和 AOP(AsPEct Oriented Programming:面向切面编程)为内核,提供了展现层 Spring

MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技,还能整合开源世界众多

著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。

spring的两大核心

IOC

AOP

###1.1.2 Spring  的发展历程

EJB  sun公司的javaEE规范

1997 年 IBM提出了EJB 的思想

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

1999 年,EJB1.1 发布

2001 年,EJB2.0 发布

2003 年,EJB2.1 发布

2006 年,EJB3.0 发布

***Rod Johnson ( spring 之父)

Expert One-to-One J2EE Design and Development(2002)

阐述了 J2EE 使用EJB 开发设计的优点及解决方案

Expert One-to-One J2EE Development wIThout EJB(2004)

阐述了 J2EE 开发不使用 EJB的解决方式(Spring 雏形)

2017  年9月份发布了spring  的最新版本 0 spring 5.0  通用版( GA )

 

###1.1.3 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. spring 源码是经典学习范例

Spring的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对Java 设计模式灵活运用以

及对 Java技术的高深造诣。它的源代码无意是 Java 技术的最佳实践的范例。

###1.1.4 spring 的 体系结构

  

ssm框架复习巩固

 

#第2 章 IoC  的概念和作用

##2.1  程序的耦合和解耦

     耦合(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调

用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关

系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立

)。耦合性存在于各个领域,而非软件设计中独有的,但是我们只讨论软件工程中的耦合。

     在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。

软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。

 划分模块的一个准 则就是高内聚低耦合。

 

#第3 章  spring 的  IOC

 

AOP:是一种编程思想,和oop一样,可以说是oop的一种延伸。在传统编程写代码的时候,如果我们在在多个类中调用(当我们需要为分散的对象引入公共行为的时候)同一个方法(功能)的时候,可以能回导致重复的代码太多了,方法与方法(业务逻辑)之间存在严重耦合(例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。)这个时候我们要把这个方法(功能)封装成一个封面,然后注入要所需要这个功能的类中。(利用spring的ioc的rel属性)将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。
实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码.
简单点解释,比方说你想在你的biz层所有类中都加上一个打印‘你好’的功能,这时就可以用aop思想来做.你先写个类写个类方法,方法经实现打印‘你好’,然后Ioc这个类 ref=“biz.*”让每个类都注入即可实现。
 
 
IOC控制反转:控制对象的创建,反转是以前是我们自己手动new创建对象,现在把创建的权利交给spring容器(IOC容器)。
原来本来应该由程序创建对象交给spring容器去创建
将程序创建对象权利反转给spring,帮你管理所有对象

##3.1 下载Spring

官网:http://spring.io/

下载地址:

http://repo.springsource.org/libs-release-local/org/springframework/spring

特别说明:

spring5  版本是用 jdk8  编写的,所以要求我们的 jdk 版本是 8  及以上。

 

##3.2基于xml配置IOC (

##3.3 Spring  基于 XML 的 的 IOC  细节

### 3.3.1 BeanFactory 和 和 ApplicationContext  的区别

BeanFactory 才是 Spring 容器中的顶层接口。

ApplicationContext 是它的子接口。

BeanFactory 和 ApplicationContext 的区别:

创建对象的时间点不一样。

ApplicationContext:只要一读取配置文件,默认情况下就会创建对象。

BeanFactory:什么使用什么时候创建对象。

 

### 3.3.2 ApplicationContext  接口 的实现类

ClassPathXMLApplicationContext :

  它是从类的根路径下加载配置文件 推荐使用这种

FileSystemXmlApplicationContext :

  它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。

AnnotationconfigApplicationContext:

  当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。

 

### 3.3.3 bean标签的属性

属性:

id:给对象在容器中提供一个唯一标识。用于获取对象。

class:指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数。

scope:指定对象的作用范围。

* singleton :默认值,单例的.

* prototype :多例的.

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

* session  :WEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中.

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

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

destroy-method:指定类中销毁方法名称。

 

### 3.3.4 实例化 Bean 的三种方式

无参数构造的方式

静态工厂的方式

实例工厂的方式

今日学习感受:坚持你热爱的东西。最后一句话:三分天注定,七分靠打拼,一切都是最好的安排!

脚本宝典总结

以上是脚本宝典为你收集整理的ssm框架复习巩固全部内容,希望文章能够帮你解决ssm框架复习巩固所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。