package com.spring;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//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.context.support.FileSystemXmlApplicationContext;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.core.io.Resource;
/**
* HelloWorld客户应用
*
*
* 即:对于ClassPathXmlApplicationContext(), classpath: 前缀是不需要的, 默认就是指项目的classpath路径下面;
* 如果要使用绝对路径,需要加上 file: 前缀表示这是绝对路径;
*
* 对于FileSystemXmlApplicationContext(), 默认表示的是两种:
* 1,没有盘符的是 项目工作路径, 即项目的根目录;
* 2,有盘符表示的是 文件绝对路径。
*
* 如果要使用classpath路径, 需要前缀 classpath: .
*
*/
public class HelloClient {
protected static final Log log = LogFactory.getLog(HelloClient.class);
public static void main(String[] args) {
// Resource resource = new ClassPathResource("appcontext.xml");
// BeanFactory factory = new XmlBeanFactory(resource);
//用classpath路径也可以
// ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml");
// ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");
// ApplicationContext factory=new ClassPathXmlApplicationContext ("file:G:/workspace/workspace/xp/src/appcontext.xml");
//用文件系统的路径
// ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");
//使用了 classpath: 前缀,作为标志, 这样,FileSystemXmlApplicationContext 也能够读入classpath 下的相对路径
// ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
// ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/workspace/workspace/xp/src/appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("G:/workspace/workspace/xp/src/appcontext.xml");
IHelloWorld hw = (IHelloWorld) factory.getBean("helloworldbean");
log.info(hw.getContent("haha"));
}
分享到:
相关推荐
在Spring中,`ClassPathXmlApplicationContext`是用于加载和管理配置元数据的一个重要类,它允许我们通过XML配置文件来创建和初始化bean。这个类在启动Spring应用上下文时起着关键作用。 `...
在本篇博文中,我们将深入探讨Spring框架的基础知识,特别是关注如何自己编写一个`ClassPathXmlApplicationContext`类。`ClassPathXmlApplicationContext`是Spring框架中用于加载和管理配置元数据的核心类,它允许...
### Spring 容器触发事件与 ClassPathXmlApplicationContext 的 start() 方法用法详解 #### 一、Spring 容器概述 Spring 框架是 Java 开发领域中非常流行的一个轻量级框架,它主要提供了依赖注入(DI)和面向切面...
标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一,主要用来加载类路径下的 XML 配置文件。 ApplicationContext 的主要功能包括: 1. **Bean的管理**:...
Spring中ClassPathXmlApplicationContext类的简单使用 Posted on 2011-06-22 17:08 xcp 阅读(14689) 评论(0) 编辑 收藏 所属分类: Spring 一、简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例...
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@c1f10e: display name [org.springframework.context.support.ClassPathXmlApplicationContext@c1f10e]; startup date [Wed ...
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationProvider.xml" }); context.start(); System.in.read(); } } ``` 5. **服务消费**:在客户端,配置...
本部分将详细解释ClassPathXmlApplicationContext类中的几个关键方法,这些方法在Spring框架的启动过程中扮演着重要的角色。 #### 四、ClassPathXmlApplicationContext详解 **1. ClassPathXmlApplicationContext...
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("bonecp-config.xml"); BoneCPDataSource dataSource = (BoneCPDataSource) context.getBean("boneCPDataSource"); // 使用数据...
在Spring中,典型的获取ApplicationContext对象的方式是使用ApplicationContext接口的一个实现类,如ClassPathXmlApplicationContext。这是一个根据给定XML文件的类路径的上下文实现。通常我们会在初始化Spring IoC...
ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"a1.xml", "a2.xml"}); // 接下来可以使用context对象获取Bean实例等操作 } } ``` 在这个例子中,`...
本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...
在上面的例子中,`ClassPathXmlApplicationContext`用于加载位于类路径下的配置文件`applicationContext.xml`。`getBean`方法接受一个String类型的参数,即配置文件中定义的Bean的ID,返回该Bean的实例。 #### 2. ...
Spring容器有多种实现类,常用的有XmlBeanFactory、FileSystemXmlApplicationContext和ClassPathXmlApplicationContext等。其中,ApplicationContext是BeanFactory的子接口,通常使用...
- **FileSystemXmlApplicationContext**:与`ClassPathXmlApplicationContext`类似,但它从文件系统的绝对路径加载XML配置文件。如`new FileSystemXmlApplicationContext("D:/project/bean.xml")`,它会根据提供的...
- **方法一:** 使用`ClassPathXmlApplicationContext`,指定类路径下的XML配置文件: ```java ApplicationContext ap = new ClassPathXmlApplicationContext(new String[]{"cn/caofuhai/b_di/beans.xml"}); ``` ...
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"dubbo-config.xml"}); context.start(); System.in.read(); // 阻塞主线程,防止应用立即退出 } } ``` 除了上述...
Spring通过`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`来加载这些配置文件。例如,使用`ClassPathXmlApplicationContext`加载`applicationContext.xml`的代码如下: ```java ...
ApplicationContext ac = new ClassPathXmlApplicationContext("spring/applicationContext-jms-producer.xml"); //获取生产者发送消息服务接口 MessageSender messageSender = (MessageSender)ac.getBean...