- 浏览: 148259 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
1 Spring是什么 Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发. 2 什么是控制反转 public class PersonServiceBean { private PersonDao personDao = new PersonDaoBean(); public void save(Person person){ personDao.save(person); } } PersonDaoBean 是在应用内部创建及维护的。所谓控制反转就是应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。 3 依赖注入 当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean 类可以改成如下: public class PersonServiceBean { private PersonDao personDao ; //通过构造器参数,让容器把创建好的依赖对象注入进PersonServiceBean,当然也可以使用setter方法进行注入。 public PersonServiceBean(PersonDao personDao){ this.personDao=personDao; } public void save(Person person){ personDao.save(person); } } 所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。 4 为何要使用Spring 至少在我看来,在项目中引入spring立即可以带来下面的好处 降低组件之间的耦合度,实现软件各层之间的解耦。 可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时, 开发人员就不再需要手工控制事务.也不需处理复杂的事务传播。 容器提供单例模式支持,开发人员不再需要自己编写实现代码。 容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。 容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、 HibernateTemplate。 Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。 5 如果使用Spring, 我们就不再需要手工控制事务 另外,如果使用spring, 我们也不需要处理复杂的事务传播行为 public void payment(){ Bean1.update();//更新金额 Bean2.save();//记录操作日志 } 如果我们不使用Spring,针对下面这两种业务需求,我们该如何做? 第1种可能的业务需求:要求Bean1.update()和Bean2.save()在同一个事务中执行。 第2种可能的业务需求:要求不管Bean1.update() 的事务是否成功,都需要记录操作日志。 public class Bean1 { public void update(){//注意:下面省略了一些代码 Connection conn = null; conn.setAutoCommit(false); Statement.executeUpdate(“update account set amount=? where id=?"); } } public class Bean2 { public void save(){//注意:下面省略了一些代码 Connection conn = null; conn.setAutoCommit(false); Statement.executeUpdate(“insert into Log (content) values (?)"); } } 使用Spring,我们只需要通过声明式的事务属性配置就可以轻松地实现这两种业务需求 1.要求Bean1.update()和Bean2.save()的在同一个事务中执行 2.要求不管Bean1.update() 的事务是否成功,都需要记录日志。 @Transactional(propagation=Propagation.Required) public void payment(){ Bean1.update();//更新金额 Bean2.save();//记录日志 } public class Bean1 { @Transactional(propagation=Propagation.Required) public void update(){ executeUpdate(“update account set amount=? where id=?"); } } public class Bean2 { @Transactional(propagation=Propagation.RequiresNew) public void save(){ executeUpdate(“insert into Log (content) values (?)"); } } 6 轻量级与重量级概念的划分 经常会有同学问到spring属于轻量级框架,还是重量框架?其实划分一个应用是否属于轻量级还是重量级,主要看它使用了多少服务. 使用的服务越多,容器要为普通java对象做的工作就越多,必然会影响到应用的发布时间或者是运行性能. 对于spring容器,它提供了很多服务,但这些服务并不是默认为应用打开的,应用需要某种服务, 还需要指明使用该服务,如果应用使用的服务很少,如:只使用了spring核心服务,那么我们可以认为此时应用属于轻量级的, 如果应用使用了spring提供的大部分服务,这时应用就属于重量级。目前EJB容器就因为它默认为应用提供了EJB规范中所有的功能, 所以它属于重量级。 完毕!end!
发表评论
-
十八 Spring2.5+Hibernate3.3+Struts2整合开发
2011-07-04 17:16 824十八 Spring2.5+Hibernate3.3+Strut ... -
十七 Spring2.5+JPA+Struts1.3整合开发
2011-07-04 17:16 1257十七 Spring2.5+JPA+Struts1.3整合开发 ... -
十六 Spring2.5+Hibernate3.3+Struts1.3整合开发
2011-07-04 17:13 913十六 Spring2.5+Hibernate3.3+Strut ... -
十五 用xml方式配置事务
2011-07-04 17:11 843十五 用xml方式配置事务 ... -
十四 spring容器的声明式事务管理
2011-07-04 17:10 983spring在运行期(unchecked ... -
十三 Spring+JDBC组合开发
2011-07-04 17:09 970十三 Spring+JDBC组合开发 ... -
十二 spring的AOP编程
2011-07-04 17:06 1387Aspect(切面):指横切性关 ... -
十一 使用CGLIB实现AOP功能与AOP概念解释
2011-07-04 17:05 826十一 使用CGLIB实现AOP功能与AOP概念解释 前面 ... -
十 使用JDK中的Proxy技术实现AOP功能
2011-07-04 17:03 816十 使用JDK中的Proxy技术实现AOP功能 通过代理 ... -
九 自动扫描和管理bean
2011-07-04 17:02 766九 自动扫描和管理bean ... -
八 @Autowire注解与自动装配
2011-07-04 17:01 878使用了@Autowired的注解方式,这种默认按类型查找符合的 ... -
七 编码剖析@Resource注解的实现原理
2011-07-04 17:00 1103七 编码剖析@Resource注解的实现原理 Itcas ... -
六 用@Resource注解完成属性装配
2011-07-04 16:58 1847六 用@Resource注解完成属性装配 java代 ... -
五 依赖注入
2011-07-04 16:57 759五 依赖注入 1>set注入方式 1 对象注入 ... -
四 spring管理bean的作用域
2011-07-04 16:57 953四 spring管理bean的作用域 先看配置 < ... -
三 实例化bean的方法
2011-07-04 16:56 718三 实例化bean的方法 1接口 package cn. ... -
二 开启spring之旅
2011-07-04 16:55 7191 首先下载spring 最佳答案 版本2.5.6,官 ... -
Spring学习笔记(4)----Bean节点信息配置
2010-10-29 16:53 792默认情况下,Spring的Ioc容器启动时会初始化bean ... -
Spring学习笔记(3)----编码剖析Spring管理Bean的原理
2010-10-29 16:47 727Xml代码 <?xml versio ... -
Sping学习笔记(2)----实例化Bean的三种方式
2010-10-29 16:45 842Spring的实例化Bean有三种方式: 使用类构造器 ...
相关推荐
Spring 框架是Java平台上的一个核心企业级应用框架,由Rod Johnson创建,旨在解决J2EE开发中的复杂性和繁琐性。Spring以其强大的模块化和可扩展性,提供了多种功能,包括但不限于依赖注入(DI,Dependency Injection...
Spring Boot是Spring Cloud的基础,它提供快速开发单个微服务的能力,而Spring Cloud则在此基础上构建了一个全面的服务治理框架。Spring Boot专注于简化单个服务的创建,而Spring Cloud关注的是整个服务网络的协调与...
Spring框架是Java平台的一个开源应用框架,由Rod Johnson创建,并首次在2003年发布。它被广泛应用于各种规模的Java应用开发中。Spring提供了一个全面的编程和配置模型,可以用于企业级应用开发。Spring的核心是控制...
Spring框架是中国Java开发领域中最广泛使用的轻量级框架之一,它以其依赖注入...这份"spring入门介绍PPT"将是你深入理解Spring的宝贵资源,通过它,你可以逐步掌握Spring的核心理念和技术,开启你的Spring开发之旅。
本节将详细介绍Spring的基本概念、特点以及它如何作为一个容器和框架来工作。 首先,Spring 是一个开源的Java框架,由Rod Johnson创建,最初是为了应对EJB(Enterprise JavaBeans)在企业应用开发中带来的复杂性。...
**Spring框架介绍** Spring框架是Java开发领域中最广泛使用的开源框架之一,由Rod Johnson在2003年推出。它以其“依赖注入”(Dependency Injection, DI)和“面向切面编程”(Aspect-Oriented Programming, AOP)...
本篇文章将针对Spring框架的常用模块进行详细介绍,旨在帮助初学者理解和掌握Spring的核心概念。 1. **IoC(控制反转)与DI(依赖注入)** Spring的核心特性就是控制反转(Inversion of Control,IoC)和依赖注入...
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
Spring的核心特性之一是依赖注入,它允许开发者在运行时将对象之间的依赖关系进行管理,而不是在代码中硬编码这些依赖。通过配置文件或注解,Spring可以自动装配对象,使得代码更易于测试和重构。 **2. ** **控制...
Java Spring 是一个开源的轻量级企业级应用程序框架,以其卓越的灵活性和模块化而闻名。它提供了一个全面的编程和配置模型,旨在简化Java开发并促进良好的编程实践。Spring的核心特性包括控制反转(IoC)和面向切面...
7. **MVC框架**:Spring MVC是Spring提供的用于构建Web应用的模块,它提供了一个分层架构,包括控制器、模型、视图和处理器映射器等组件,使得Web开发更加灵活和高效。 8. **Spring Boot**:Spring Boot是为了简化...
在本文档中,我们将详细介绍如何将 Spring、SpringMVC 和 Hibernate 框架集成,以便构建一个完整的 Web 应用程序。我们将介绍如何配置 Spring 框架,如何配置 SpringMVC 框架,如何配置 Hibernate 框架,並且如何将...
Spring MVC提供了一个轻便的高层次的功能:表单控制器实现了一个与定义的页面流程。 Spring Web Flow允许你使用一个简单清晰的方法体现你的页面流程,并且随时重用。关注点:Web流程的逻辑结构和Web事件条件的定义。
最后,将下载的 Spring Framework 解压,并将其中的 spring.jar、commons-logging.jar 和 log4j-1.2.15.jar 复制到“D:\java\Spring\lib”目录中,然后在 Eclipse 中建立一个“Springlib”库,将三个文件添加进...
Spring框架是Java开发领域中的一个核心框架,以其开源、灵活和强大的特性而备受推崇。它旨在解决传统J2EE开发中的复杂性和耦合性问题,提供了一种轻量级、可扩展的架构解决方案。Spring的核心理念是控制反转...