在java应用程序中使用spring

来源:互联网 发布:linux 创建多个文件夹 编辑:程序博客网 时间:2024/05/13 16:38

1、创建bean

package Test201307;public class MessageBean {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}}

2、创建spring配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans><!-- id指定bean 的访问名称,class指定bean的实现类 --><bean id="messageBean" class="Test201307.MessageBean"><property name="message"><!-- name指定bean实现类的属性 --><value>Spring framework application test!</value><!--指定了向bean属性注入的值 --></property></bean></beans>

3、测试类

package Test201307;import java.net.URL;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.core.io.ClassPathResource;public class SpringTest {/** * @param args */public static void main(String[] args) {//String path = System.getProperty("user.dir");//System.out.println("path:"+path);//System.out.println("path:"+SpringTest.class.getClassLoader().getResource(""));//System.out.println("path:"+SpringTest.class.getResource(""));//System.out.println("path:"+SpringTest.class.getResource("/"));//System.out.println("path:"+ClassLoader.getSystemResource(""));//System.out.println("path:"+Thread.currentThread().getContextClassLoader().getResource(""));URL urlAb = SpringTest.class.getResource("");URL urlSt = SpringTest.class.getResource("/");String path = urlAb.toString().replace(urlSt.toString(), "");System.out.println("path->"+path);// 创建ClassPathResource对象,类加载器将在classpath中查找beans-config.xml文件.ClassPathResource resource = new ClassPathResource(path+"beans-config.xml");/*spring 根据beans-config.xml文件中的配置信息创建BeanFactory的实例,     同时完成bean的创建和属性值得注入。*/BeanFactory beanFactory = new XmlBeanFactory(resource);// getBean() 取得bean实例MessageBean bean = (MessageBean)beanFactory.getBean("messageBean");//从配置文件中System.out.println(bean.getMessage());/* sping 容器有两个接口:BeanFactory和ApplicatoinContext,都被称为:spring上下文 ,它们都是bean的工厂。但是,ApplicatoinContext是BeanFactory的子接口,提供了更多 的功能。 *///方式2ApplicationContext ac = new ClassPathXmlApplicationContext(path+"beans-config.xml");MessageBean messageBean_2 = (MessageBean)ac.getBean("messageBean");System.out.println(messageBean_2.getMessage());}}