工程截图如下
【HelloWorld.java】
1 package com.HigginCui; 2 3 public class HelloWorld { 4 private String words; 5 6 public void hello(){ 7 System.out.println(this.getWords()); 8 } 9 public String getWords() { 10 return words; 11 } 12 public void setWords(String words) { 13 this.words = words; 14 } 15 }
【applicationContext.xml】
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <!-- <beans>: 作为根节点 <bean>: 来为每一个bean进行设定 id:设定bean的实例别名,可以用id来获取Bean的实例 class:用来指定bean的对应的类名称,即该bean的类路径 <property>: 设定了setter的名称,此时使用了setWords()
name:属性的名称 <value>: 将"Hello World!!"注入HelloWorld类的变量words --> <bean id="helloWorld" class="com.HigginCui.HelloWorld"> <property name="words"> <value>Hello World!!</value> </property> </bean> </beans>
【testHelloWorld.java】
1 package com.HigginCui.test; 2 import org.junit.Test; 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 import com.HigginCui.HelloWorld; 6 7 public class testHelloWorld { 8 @Test 9 public void testHelloWorld(){ 10 //1.启动Spring容器 11 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); 12 //2.从Spring容器中把对象提取出来,获取实例,此时的"helloWorld"即applicationContext.xml文件中的id="helloWorld" 13 HelloWorld helloWorld=(HelloWorld) context.getBean("helloWorld"); 14 //3.对象调用方法 15 helloWorld.hello(); 16 } 17 }
【运行结果】
Hello World!!
【小结】
ApplicationContext:继承自BeanFactory接口,即“应用前后关系”,除了包含BeanFactory的所有功能之外,还支持国际化、资源访问(如URL和文件)、事件传播等等。
ClassPathXmlApplicationContext:从类路径ClassPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。
//装载单个配置文件实例化ApplicationContext容器 ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml"); //装载多个配置文件实例化ApplicationContext容器 String[] configs = {"bean1.xml","bean2.xml","bean3.xml"}; ApplicationContext cxt = new ClassPathXmlApplicationContext(configs);