终于开始学习spring,对这个必须要掌握的框架,给自己提的要求是:能深入的理解实现原理和思想.
白天忙碌的工作,不定时的加班,陪女朋友等等,总不能成为偷懒的理由,狠狠心,开始干.如果永远没有开始,就永远没有成功.
Spring的学习我使用的<spring2.0技术手册>,我觉得只看例子,容易眼高手低,还是自己敲一敲,能发现很多问题.
环境:myeclipse6+jdk6
1:new一个web project
2:项目中add spring2.0 core libraries
3:src下新建test包
4:test package下 新建一个HelloWord.java类(HelloWorld影响深入骨髓了...不自觉的就命名了)
代码如下:
简单的一个bean类,一个字符串及get()/set()方法
5:src下新建beans-config.xml bean所对应的xml文件
注意:<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
一定要有,否则报错:canot find the declearation of element 'bean'.
6:test包下新建SpringDemo.java类
7:新建log4j.properties,位置在src下
8:运行SpringDemo.java,成功输出beans-config.xml中定义的value
9:总结:
需要理解和记忆
ClassPathResource指定了bean定义文件(beans-config.xml)的路径
XmlBeanFactory用来读取(beans-config.xml)和建立BeanFactory实例,BeanFactory为spring的IoC容器.(spring特性:IoC控制反转的实现,依赖关系转移)
spring1.2以后,XmlBeanFactory只接受实现Resource接口的对象
HelloWorld中预留了set方法,通过BeanFactory,将value注入,(spring特性:依赖注入 DI)
通过BeanFactory的getBean()方法获得bean对象(HelloWorld中的hellobean)
白天忙碌的工作,不定时的加班,陪女朋友等等,总不能成为偷懒的理由,狠狠心,开始干.如果永远没有开始,就永远没有成功.
Spring的学习我使用的<spring2.0技术手册>,我觉得只看例子,容易眼高手低,还是自己敲一敲,能发现很多问题.
环境:myeclipse6+jdk6
1:new一个web project
2:项目中add spring2.0 core libraries
3:src下新建test包
4:test package下 新建一个HelloWord.java类(HelloWorld影响深入骨髓了...不自觉的就命名了)
代码如下:
package test;
public class HelloWorld {
private String hellobean;
public String getHellobean() {
return hellobean;
}
public void setHellobean(String hellobean) {
this.hellobean = hellobean;
}
}
简单的一个bean类,一个字符串及get()/set()方法
5:src下新建beans-config.xml bean所对应的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="hellobean"
class="test.HelloWorld">
<property name="hellobean">
<value>hello!</value>
</property>
</bean>
</beans>
注意:<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
一定要有,否则报错:canot find the declearation of element 'bean'.
6:test包下新建SpringDemo.java类
package test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class SpringDemo {
public static void main(String args[]){
Resource rs = new ClassPathResource("beans-config.xml");
BeanFactory factory = new XmlBeanFactory(rs);
HelloWorld hello = (HelloWorld) factory.getBean("hellobean");
System.out.print(hello.getHellobean());
}
}
7:新建log4j.properties,位置在src下
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
8:运行SpringDemo.java,成功输出beans-config.xml中定义的value
9:总结:
需要理解和记忆
ClassPathResource指定了bean定义文件(beans-config.xml)的路径
XmlBeanFactory用来读取(beans-config.xml)和建立BeanFactory实例,BeanFactory为spring的IoC容器.(spring特性:IoC控制反转的实现,依赖关系转移)
spring1.2以后,XmlBeanFactory只接受实现Resource接口的对象
HelloWorld中预留了set方法,通过BeanFactory,将value注入,(spring特性:依赖注入 DI)
通过BeanFactory的getBean()方法获得bean对象(HelloWorld中的hellobean)