0基础学习spring
主要参考文件:http://jinnianshilongnian.iteye.com/blog/1435120
概述:这里不讲解一些很学术的东西,只是举一些实用的例子,通过一个一个实例让我们对spring有一个直观的了解。会用了之后我们再去研究里面是怎么实现的,我学习的习惯就是先会用,然后再去理解。写这些的目的只是记录自己学习的过程,并且保留一些记录用到的时候看。废话不多说了,国际惯例,先整一个helloworld吧。
一spring的helloworld
spring下载地址: 下载地址:http://www.springsource.org/download
需要的基本jar包
核心jar包:从下载的spring-framework-3.0.5.RELEASE-with-docs.zip中dist目录查找如下jar包
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
依赖的jar包:从下载的spring-framework-3.0.2.RELEASE-dependencies.zip中查找如下依赖jar包
com.springsource.org.apache.log4j-1.2.15.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.commons.collections-3.2.1.jar
首先定义一个HelloInterface接口
public interface HelloInterface {
public void sayHello();
}
再定义一个Hello的实现
public class HelloImpl implements HelloInterface{
@Override
public void sayHello(){
System.out.println("hello world");
}
}
在定义一个测试类
public class HelloTest {
@Test
public void testHelloWorld() {
//1、读取配置文件实例化一个IoC容器
ApplicationContext context = new ClassPathXmlApplicationContext("chapter2/helloworld.xml");
//2、从容器中获取Bean,注意此处完全“面向接口编程,而不是面向实现”
HelloInterface hello = context.getBean("hello", HelloInterface.class);
//3、执行业务逻辑
hello.sayHello();
}
}
定义配置文件(后面会省略公共头部分)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- id 表示你这个组件的名字,class表示组件类 -->
<bean id="hello" class="spring3.chapter2.impl.HelloImpl"/>
</beans>
工程结构目录
简单总结一下:这个例子的主要目的是告诉我们,可以通过配置文件实例化一个bean对象,具体怎么创建参照例子。这也就是所谓的控制反转,以前都是通过new创建对象,现在不用的java代码里面创建对象,直接通过配置文件就可以了。这样的好处就是我们可以随便替换bean的配置信息,从而不用修改代码就可以是程序改变,但是要达到这样的效果还必须有一个好的设计,否则是行不通的。下一张我们具体深入的学习一下bean的命名和bean的实例化方法