没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
60页
空哥JAVA编程之Spring基础 适合JAVA初学者在了解JAVA的基本语法,会编写简单的JAVA程序之后,熟悉spring框架 Spring相关的技术点及其解答,文档主要包括如下内容: 1、概述,对spring框架的简单介绍,以及spring中常用的设计模式 2、控制反转 3、Spring Beans,包括自动装配、手动装配、IOC容器等知识点 4、Spring事务管理,包括事务的特性、事务传播方式、如何实现事务等
资源推荐
资源详情
资源评论
Spring 概述
(1)Spring 框架的设计目标,设计理念和核心是什么?
Spring 设计目标:Spring 为开发者提供一个一站式轻量级应用开发平台;
Spring 设计理念:在 JavaEE 开发中,支持 POJO 和 JavaBean 开发方式,使应用面向接口
开发,充分支持 OO(面向对象)设计方法;Spring 通过 IoC 容器实现对象耦合关系的管理,
并实现依赖反转,将对象之间的依赖关系交给 IoC 容器,实现解耦;
Spring 框架的核心:IoC 容器和 AOP 模块。通过 IoC 容器管理 POJO 对象以及他们之间
的耦合关系;通过 AOP 以动态非侵入的方式增强服务。
IoC 让相互协作的组件保持松散的耦合,而 AOP 编程允许你把遍布于应用各层的功能分
离出来形成可重用的功能组件。
(2)Spring 的优缺点是什么?
优点
方便解耦,简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给 Spring
管理。
AOP 编程的支持
Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功
能。
声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程。
方便程序的测试
Spring 对 Junit4 支持,可以通过注解方便的测试 Spring 程序。
方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的直接支持(如:Struts、
Hibernate、MyBatis 等)。
降低 JavaEE API 的使用难度
Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等),都提供了封
装,使这些 API 应用难度大大降低。
缺点
Spring 明明一个很轻量级的框架,却给人感觉大而全
Spring 依赖反射,反射影响性能
使用门槛升高,入门 Spring 需要较长时间
Spring 有哪些主要模块
1、核心模块
SpringCore 模块是 Spring 的核心容器,它实现了 IOC 模式,提供了 Spring 框
架的基础功能。此模块中包含的 BeanFactory 类是 Spring 的核心类,负责 JavaBean
的配置与管理。它采用 Factory 模式实现了 IOC 即依赖注入。
2、Context 模块
SpringContext 模块继承 BeanFactory(或者说 Spring 核心)类,并且添加了
事件处理、国际化、资源装载、透明装载、以及数据校验等功能。它还提供了框
架式的 Bean 的访问方式和很多企业级的功能,如 JNDI 访问、支持 EJB、远程调
用、集成模板框架、Email 和定时任务调度等。
3、AOP 模块
Spring 集成了所有 AOP 功能。通过事务管理可以使任意 Spring 管理的对象
AOP 化。Spring 提供了用标准 Java 语言编写的 AOP 框架,它的大部分内容都是
基于 AOP 联盟的 API 开发的。它使应用程序抛开 EJB 的复杂性,但拥有传统 EJB
的关键功能。
4、DAO 模块
DAO 是 DataAccessObject 的缩写,DAO 模式思想是将业务逻辑代码与数据库
交互代码分离,降低两者耦合。通过 DAO 模式可以使结构变得更为清晰,代码
更为简洁。DAO 模块提供了 JDBC 的抽象层,简化了数据库厂商的异常错误(不
再从 SQLException 继承大批代码),大幅度减少代码的编写,并且提供了对声明
式事务和编程式事务的支持。
5、ORM 映射模块
SpringORM 模块提供了对现有 ORM 框架的支持,各种流行的 ORM 框架已经
做得非常成熟,并且拥有大规模的市场,Spring 没有必要开发新的 ORM 工具,
它对 Hibernate 提供了完美的整合功能,同时也支持其他 ORM 工具。注意这里
Spring 是提供各类的接口(support),目前比较流行的下层数据库封闭映射框架,
如 ibatis,Hibernate 等。
6、Web 模块
此模块建立在 SpringContext 基础之上,它提供了 Servlet 监听器的 Context
和 Web 应用的上下文。对现有的 Web 框架,如 JSF、Tapestry、Structs 等,提供
了集成。Structs 是建立在 MVC 这种公认的好的模式上的,Struts 在 M、V 和 C
上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说
它的着力点在 C 和 V 上,因此,它天生就有 MVC 所带来的一系列优点,如:结
构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分
工,提供集中统一的权限控制、校验、国际化、日志等等。
7、MVC 模块
SpringWebMVC 模块建立在 Spring 核心功能之上,这使它能拥有 Spring 框架
的所有特性,能够适应多种多视图、模板技术、国际化和验证服务,实现控制逻
辑和业务逻辑的清晰分离。实践证明,MVC 模式为大型程序的开发及维护提供
了巨大的便利。
Spring 中使用了哪些设计模式?
1、简单工厂模式
又叫做静态工厂方法(StaticFactory Method)模式,但不属于 23 种 GOF 设计模式之一。
简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。
spring 中的 BeanFactory 就是简单工厂模式的体现,根据传入一个唯一的标识来获得 bean 对
象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。如下配置,
就是在 HelloItxxz 类中创建一个 itxxzBean。
<beans>
<bean id="singletonBean" class="com.itxxz.HelloItxxz">
<constructor-arg>
<value>Hello! 这是 singletonBean!value>
</constructor-arg>
</ bean>
<bean id="itxxzBean" class="com.itxxz.HelloItxxz" singleton="false">
<constructor-arg>
<value>Hello! 这是 itxxzBean! value>
</constructor-arg>
</bean>
</beans>
2、工厂方法模式
通常由应用程序直接使用 new 创建新的对象,为了将对象的创建和使用相分离,采用工厂
模式,即应用程序将对象的创建及初始化职责交给工厂对象。
一般情况下,应用程序有自己的工厂对象来创建 bean.如果将应用程序自己的工厂对象交给
Spring 管理,那么 Spring 管理的就不是普通的 bean,而是工厂 Bean。
就以工厂方法中的静态方法为例讲解一下:
import java.util.Random;
public class StaticFactoryBean {
public static Integer createRandom() {
return new Integer(new Random().nextInt());
}
}
建一个 config.xm 配置文件,将其纳入 Spring 容器来管理,需要通过 factory-method 指定静态
方法名称:
<bean id="random"
class="example.chapter3.StaticFactoryBean" factory-method="createRandom"
scope="prototype"
/>
测试:
public static void main(String[] args) {
//调用 getBean()时,返回随机数.如果没有指定 factory-method,会返回 StaticFactoryBean 的实
例,即返回工厂 Bean 的实例
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("config.xml"));
System.out.println("我是 IT 学习者创建的实例:"+factory.getBean("random").toString());
}
3、单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
剩余59页未读,继续阅读
资源评论
yellow1019
- 粉丝: 26
- 资源: 75
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功