首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring入门示范及相关概念介绍

2012-10-31 
Spring入门示例及相关概念介绍作者:http://blog.csdn.net/fenglibing??? 相对于Hibernate(冬眠),Spring(春

Spring入门示例及相关概念介绍

作者:http://blog.csdn.net/fenglibing

??? 相对于Hibernate(冬眠),Spring(春天),具有更多的诗意与希望的感觉,是为了解决传统J2EE开发效率过低、开发商之间不统一、没有真正实现“写一次到处使用”,它的优点有如下:

1、低侵入式设计,代码污染极低。

2、独立于各种应用服务,真正实现写一次到处都可以使用。

3、用户可选择的自由度高,用户可以选择部分或者是全部SPRING的功能,它并不是设计来取代其它框架,可以和其它的框架(如STRUTS、HIBERNATE)等结合极好。

4、面向接口的编程方式,使得代码的偶合度降到最低。

5、所有的BEAN默认都被会单态化,相同的BEAN只会被初使化一次,因而节省了BEAN初使化的时间及减少垃圾回收,增加了应用效率。

...

有以上的优点的结合,因而它是被广大程序员所欢迎的,因为它可以给我们带来高效、稳定的开发,很大程度的减少了程序的开发、维护周期,也就自然的减少了软件开发的费用。下面简单的介绍两个应用示例,这些示例都来自于书本,都简单易懂,我也会详细的加以说明,另外需要使用下面的示例,需要引用Spring的JAR包:Spring.jar,该JAR包包括了大部份的应用,如果暂时不需要SPRINT的其它功能,该JAR足以。

以下的程序,全部都是调试通过的。

示例一、不同的人说不同的话

1、建立接口

工厂模式在SRPING中是随处体现,且提倡面向接口,因此首先建立接口:人

package test;
public interface Person {
?public void sayHello();
?public void sayBye();
}

2、建立两种具体的人:中国人、美国人

//中国人

package test;

public class Chinese implements Person {
?public void sayBye() {
? System.out.println("再见");
?}
?public void sayHello() {
? System.out.println("你好");
?}
}

//美国人

package test;

public class American implements Person {
?public void sayBye() {
? System.out.println("Bye");
?}
?public void sayHello() {
? System.out.println("hello");
?}
}

3、建立bean映射配置文件,bean.xml(这个文件名是什么没有关系,在初使化的时候指定给初使化程序就可以)

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
?"http://www.sprintframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="chinese" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
?"http://www.sprintframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="chinese" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
?"http://www.sprintframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="chinese" class="test2.StoneAxe"/>
</beans>

?

3、设值注入与构造注入实现的结果是一样的,都在将需要被调用的实现类注入到调用的实现类。

设值注入与传统JAVABEAN的写法一样,比较容易接受;而构造注入在应用程序加载的时候就已经完成了注入,可以控制加载顺序。各有优缺点,根据不同的情况选用了。

?

四、后记

编程中理解与使用SPRING就像是人从学走路到跑步的过程,如果没有理解什么是单态模式、工厂模式、反射、JAVABEAN、XML基础、接口及其实现等等,理解SPRING就会比较困难,就算是可以使用通,也不一定知道为什么,看看网上的一些信息,动不动要求说会不会SPRING、HIBERNATE等等,很少提到基础知识是否扎实。我在面试别人的过程中,往往更注意面试人员的程序基础、编程风格、动手能力、文档编写能力等,当然对当前一些流行的框架也会有提问,毕竟好的东西也是需要借签的。


如果文章对你用,请支持万事如意网址导航。

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fenglibing/archive/2009/06/26/4300517.aspx

热点排行