刚看书看到spring,通篇看了一遍,不是很难,就是不知道这玩意有什么用,所以先照着书写个helloworld出来,再深入学习。
首先导入jar包到WebRoot\WEB-INF\lib下,包括:
这个commons-logging-1.1.1.jar是一个日志,是我从别的地方搞来的,没这个helloworld无法运行。
有三个文件:Hello.java是JavaBean,applicationContext.xml是配置文档 很重要,Test.java测试类。
Hello.java
package bean;
public class Hello {
private String myProperty; //这个参数从xml里注入
public void sayHello(String name) {
System.out.println("hello " + myProperty + name );
}
public String getMyProperty() {
return myProperty;
}
public void setMyProperty(String myProperty) {
this.myProperty = myProperty;
}
}
applicationContext.xml
<?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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="hello" class="bean.Hello">
<!-- 设置属性 实例化的时候会通过set方法传值 实际值用value 引用用ref="别的bean的名字"-->
<property name="myProperty" value="dear:" ></property>
</bean>
</beans>
Test.java
package bean;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext(
"applicationContext.xml");//API建议用ApplicationContext app = new ClassPathXmlApplicationContext,他包含BeanFactory
"applicationContext.xml");
Hello h = (Hello)factory.getBean("hello");
h.sayHello("blue");
}
}
结果: