SpringFrameWork Introduce

原创 2004年10月21日 20:34:00

Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002).

Spring includes:

  • Powerful JavaBeans-based configuration management, applying Inversion-of-Control principles. This makes wiring up applications quick and easy. No more singletons littered throughout your codebase, no more arbitrary properties files: one consistent and elegant approach everywhere. This core bean factory can be used in any environment, from applets to J2EE containers.
  • Generic abstraction layer for transaction management, allowing for pluggable transaction managers, and making it easy to demarcate transactions without dealing with low-level issues. Generic strategies for JTA and a single JDBC DataSource are included. In contrast to plain JTA or EJB CMT, Spring's transaction support is not tied to J2EE environments.
  • JDBC abstraction layer that offers a meaningful exception hierarchy (no more pulling vendor codes out of SQLException), simplifies error handling, and greatly reduces the amount of code you'll need to write. You'll never need to write another finally block to use JDBC again. The JDBC-oriented exceptions comply to Spring's generic DAO exception hierarchy.
  • Integration with Hibernate, JDO, and iBATIS SQL Maps: in terms of resource holders, DAO implementation support, and transaction strategies. First-class Hibernate support with lots of IoC convenience features, addressing many typical Hibernate integration issues. All of these comply to Spring's generic transaction and DAO exception hierarchies.
  • AOP functionality, fully integrated into Spring configuration management. You can AOP-enable any object managed by Spring, adding aspects such as declarative transaction management. With Spring, you can have declarative transaction management without EJB... even without JTA, if you're using a single database in Tomcat or another web container without JTA support.
  • Flexible MVC web application framework, built on core Spring functionality. This framework is highly configurable via strategy interfaces, and accommodates multiple view technologies like JSP, Velocity, Tiles, iText, and POI. Note that a Spring middle tier can easily be combined with a web tier based on any other web MVC framework, like Struts, WebWork, or Tapestry.

You can use all of Spring's functionality in any J2EE server, and most of it also in non-managed environments. A central focus of Spring is to allow for reusable business and data access objects that are not tied to specific J2EE services. Such objects can be reused across J2EE environments (web or EJB), standalone applications, test environments, etc without any hassle.

Spring's layered architecture gives you a lot of flexibility. All its functionality builds on lower levels. So you can e.g. use the JavaBeans configuration management without using the MVC framework or AOP support. But if you use the web MVC framework or AOP support, you'll find they build on the configuration framework, so you can apply your knowledge about it immediately.

Introduce yourself in English

My name is ABC and I was born in Qingdao city in Shandong province, which is a littoral and beautifu...
  • Gooing
  • Gooing
  • 2005年11月12日 11:32
  • 2566

简化函数调用之九 :Introduce Parameter Object(引入参数对象)

某些参数总是很自然地同时出现。 以一个对象取代这些参数。 动机(Motivation) 你常会看到特定的一组参数总是一起被传递。可能有好几个函数都使用这一组参数,这些函数可能...
  • yuwei629
  • yuwei629
  • 2013年05月09日 08:46
  • 549


  • li_zhuonan
  • li_zhuonan
  • 2013年10月18日 10:44
  • 3148

Introduce Local Extension(引入本地扩展)

你所使用的server class需要一些额外函数,但你无法修改这个class。建立一个新class,使它包含这些额外函数。让这个扩展品成为source class的subclass(子类)或wrap...
  • bendan999999999
  • bendan999999999
  • 2009年01月13日 09:30
  • 429

简化条件表达式之七 :Introduce Null Object(引入Null 对象)

你需要再三检查「某物是否为null value」。 将null value (无效值)替换为null object(无效物)。          if (customer == null)...
  • yuwei629
  • yuwei629
  • 2013年05月07日 16:21
  • 675

android studio中Option + Enter选择了disable 'introduce local variable'

今天在AS中,使用Option + Enter生成变量时,不小心做了如下操作,然后 使用Option + Enter生成变量时没反应了。解决方法: 打开Preferences/Editor/Int...
  • Pioneer_Chang
  • Pioneer_Chang
  • 2017年08月23日 23:43
  • 406

Android introduce

 1 扎实java基础,良好代码编写规范,在linux mac,平台进行项目开发,熟悉linux基本命令行操作  2 熟练运用git命令行操作,svn等版本管理工具 3 熟练运用移动端APP...
  • java_goodstudy
  • java_goodstudy
  • 2016年08月29日 19:31
  • 427

Angular JS introduce

AngularJS是一个JavaScript框架,通过ng-directives(指令)扩展了HTML。 ng-app指令定义一个AngularJS应用程序。 ng-model指令把元素值(比如输...
  • x_i_y_u_e
  • x_i_y_u_e
  • 2016年07月29日 15:20
  • 469

Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application

Android Warning : Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application,...
  • hsjMichael
  • hsjMichael
  • 2015年01月06日 09:12
  • 1317

introduce yourself in the Interview(面试英语自我介绍)

introduce yourself in the Interview(面试英语自我介绍) Q: Can you sell yourself in two minutes? Go for it. (...
  • DSIslander
  • DSIslander
  • 2012年11月23日 15:28
  • 2171
您举报文章:SpringFrameWork Introduce