【Spring】Spring3.0.5的下载、配置与Helloworld

来源:互联网 发布:微电影编辑软件 编辑:程序博客网 时间:2024/05/02 20:57

Spring这东西其实没有想象中这么难,只是由于网上大部分资料杂糅了许多其它奇奇怪怪的技术,什么Maven,log4j,什么东西都来,还有上来就将SSH整合的,那叫初学者,怎么可能看懂?下面以一个最简单,无其它额外的技术,讲解一下Spring。


一、Spring下载

首先,Spring的下载就是一个问题。这些框架的官网改来改去,然后在强推其新技术,把历史版本通通都去掉了。正如ExtJs一样,只能在国内的网上搜一下历史版本下载。要搞Spring3.0要下两个压缩包。一个是spring-framework-3.0.5.RELEASE-with-docs.zip,另一个是spring-framework-3.0.5.RELEASE-dependencies.zip。

这里感谢,两位CSDN网友无私提供的下载地址。

spring-framework-3.0.5.RELEASE-with-docs.zip:http://download.csdn.net/download/hl518_818/4796207

spring-framework-3.0.5.RELEASE-dependencies.zip:http://download.csdn.net/download/u014175572/7514027


二、Spring的配置

Spring在配置的时候也是非常蛋疼的。在解压spring-framework-3.0.5.RELEASE-with-docs.zip与spring-framework-3.0.5.RELEASE-dependencies.zip之后,某些书籍上说把spring-framework-3.0.5.RELEASE-with-docs.zip\dist的所有内容与spring-framework-3.0.5.RELEASE-dependencies.zip的内容拷贝进去,然后添加进你的Java或者JavaWeb工程里面,最后你会发现添加完毕之后,发现你的Java或者JavaWeb工程无法运行。这是由于在spring-framework-3.0.5.RELEASE\dist中,多出一个不该存在LIBD文件。


因此,正确做法是,在Eclipse新建一个Java工程之后,下面以Java工程做例子,因为Spring其实与Javaweb半点关系都没有,只是把Java的东西用于Javaweb工程而已!

在Eclipse新建一个名为SpringHelloworld的Java工程之后,新建一个lib文件夹,解压之后,把spring-framework-3.0.5.RELEASE-dependencies的所有东西与spring-framework-3.0.5.RELEASE\dist中的所有Jar包,不包括那个LIBD文件,拷贝到Java工程下的lib文件夹,搞好之后,你的lib文件夹,应该如下所示:


之后,右键这个名为SpringHelloworld的Java工程,选择属性,之后选择Add Jars包,把刚才拷贝到lib文件夹中的Jar包都选择,再选择“确定”,具体如下图:


至此,Spring配置完毕。


三、Spring的Helloworld

1、首先在src直接新建一个包含主函数的SpringTest.java的Java文件,里面的代码如下。

import org.springframework.context.*;import org.springframework.context.support.*;public class SpringTest {public static void main(String[] args) {//初始化SpringApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");//为这个SpringTest.java注入A.java这个类,A a=applicationContext.getBean("aJava",A.class);//注入之后可以直接使用A这个类a.print();}}
2、之后再于在src新建一个A.java,里面的代码如下,简单得不能再简单,只是这里必须严格按照Spring的规定,变量一定要是私有的,里面一定要有一个setter方法。

public class A {private String a;public void setA(String a) {this.a = a;}public void print() {System.out.println("applicationContent.xml传进来一个a值为:" + a);}}
3、最后同样在src新建一个applicationContext.xml,里面的代码如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="aJava" class="A"><property name="a" value="呵呵"/></bean></beans>
4、做完之后,Java工程目录应该如下:


回到SpringTest.java直接运行,运行结果如下,其中,那堆log4j警告不要理他,spring根本就不需要依赖于log4j运行。以后要用到再说。



四、总结

那么上面的程序,到底是在做什么呢?

其变量的传递如下,可能有点乱,大家凑合看吧!


其实不用Spring的话,在SpringTest.java,直接使用A a=new A("呵呵");然后再A.java写好构造方法,完全可以达到如上的效果。即便A.java是在其他包,你也可以用import来引入A.java。这只是一种设计模式吧。据说,在JavaWeb中可以让项目更加清晰,真的是“呵呵”了。

Spring其实就是取代原来java中的impor角色。

2 0