昨天在学习Spring的时候遇到一个比较基本的问题,我在applicationContext.xml中设置了一个bean:
<bean id="HelloWorld" class="action.HelloWorld">
<property name="msg">
<value>HelloWorld in applicationContext.xml</value>
</property>
</bean>
test的代码:
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import action.HelloWorld;
public class TestHelloWorld {
public static void main(String[] args){
ApplicationContext actx = new FileSystemXmlApplicationContext("applicationContext.xml");
HelloWorld HelloWorld = (HelloWorld)actx.getBean("HelloWorld");
System.out.println(HelloWorld.getMsg())
}
}
在用test进行测试的时候,编译不过,提示是系统找不到指定的文件,代码如下:
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\大学学习\大四\实验室的任务\workspace\SpringTest\applicationContext.xml]; nested exception is java.io.FileNotFoundException: applicationContext.xml (系统找不到指定的文件。)
后来我把 ApplicationContext actx = new FileSystemXmlApplicationContext("applicationContext.xml");改为 ApplicationContext actx = new FileSystemXmlApplicationContext("src/applicationContext.xml");,加了个src/,就能正常工作了。
由于以前参考师姐的代码没遇到要加上src这个路径的问题,昨晚没想通,今早一来再看代码,发现师姐用的不是FileSystemXmlApplicationContext,而是ClassPathXmlApplicationContext,于是又明白了点东西。
对于ClassPathXmlApplicationContext(),classpath: 前缀是不需要的,默认就是指项目的classpath路径下面(src下面);如果要使用绝对ClassPathXmlApplicationContext()路径,需要加上file: 前缀表示这是绝对路径;
对于FileSystemXmlApplicationContext(),默认表示的是两种:
1,没有盘符的是项目工作路径, 即项目的根目录;
2,有盘符表示的是文件绝对路径。
3,如果要使用classpath路径,需要前缀classpath:
例如:
用ClassPathXmlApplicationContext():
1、ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
2、ApplicationContext factory=new ClassPathXmlApplicationContext("applicationContext.xml");
3、ApplicationContext factory=new ClassPathXmlApplicationContext("file:D:\大学学习\大四\实验室的任务\workspace\SpringTest\src\applicationContext.xml");
用FileSystemXmlApplicationContext():
1、 ApplicationContext factory=new FileSystemXmlApplicationContext("src/applicationContext.xml");
2、ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
3、ApplicationContext factory=new FileSystemXmlApplicationContext("file:D:\大学学习\大四\实验室的任务\workspace\SpringTest\src\applicationContext.xml");
4、ApplicationContext factory=new FileSystemXmlApplicationContext("D:\大学学习\大四\实验室的任务\workspace\SpringTest\src\applicationContext.xml");
为了和师姐保持统一,我还是老老实实使用ClassPathXmlApplicationContext吧~
分享到:
相关推荐
`ApplicationContext.xml`文件是这个上下文的配置文件,通常位于项目的类路径下,它定义了应用中的Bean及其相互关系。文件内容主要包括Bean的定义、属性配置、依赖关系、AOP配置等。例如: ```xml ...
本文主要针对SSH框架中Spring部分的配置文件`applicationContext.xml`的头部文件进行深入解析。 #### 二、`applicationContext.xml`文件解析 ##### 1. 文件头部结构 在给出的部分内容中,可以看到`...
本篇文章将深入探讨在Spring Boot中如何在不同路径下读取`applicationContext.xml`配置文件。 首先,了解Spring Boot的默认加载路径。Spring Boot会自动从`src/main/resources`目录下的`application.properties`或`...
本篇文章将详细探讨如何在Spring Boot中读取不同路径下的`applicationContext.xml`文件。 首先,了解Spring Boot默认的启动机制,它通过`@SpringBootApplication`注解来扫描和初始化应用。这个注解包含了`@...
3. **applicationContext.xml**:这是Spring的上下文配置文件,主要管理服务层(Service)和数据访问层(DAO)的Bean。包括Bean的定义、依赖注入(DI)、事务管理、AOP(面向切面编程)等配置。 - Bean定义:使用`...
在Spring框架中,`applicationContext.xml`是核心配置文件,用于定义bean的声明、依赖注入、数据源配置、事务管理等。在这个配置文件中,我们可以深入理解Spring如何管理和协调应用程序的各个组件。以下是对`...
本篇文章将详细探讨如何在Spring Boot项目中读取不同路径下的`applicationContext.xml`配置文件。 首先,了解Spring Boot的核心理念是简化Spring应用程序的初始设置,它默认并不支持从XML配置文件加载bean。然而,...
本篇文章将深入探讨在Spring Boot中如何读取不同路径下的`applicationContext.xml`配置文件。 首先,理解Spring Boot的启动流程至关重要。Spring Boot通过`SpringApplication`类来启动,它会默认寻找`src/main/...
以上就是关于Spring Boot如何读取不同路径下的`applicationContext.xml`配置文件的一些核心知识点。理解并熟练运用这些知识,可以帮助开发者更好地管理和整合XML配置文件,提升项目的灵活性和可维护性。
本文将深入探讨如何在Spring Boot项目中读取不同路径下的`applicationContext.xml`配置文件。 首先,Spring Boot的设计原则是简化配置,它默认不支持XML配置,而是倾向于自动配置和Java配置。然而,如果确实有需求...
总结来说,Spring在`web.xml`中的配置更加独立,它不依赖于任何特定的应用框架,而是在Web应用启动时独立初始化ApplicationContext。而在Struts中,Spring作为插件集成,依赖于Struts的执行流程来管理Bean。这两种...
下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置项。 1. **监听器(Listener)** `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework....
Spring中ApplicationContext加载机制 ApplicationContext 是 Spring 框架中的核心组件之一,负责加载和管理应用程序中的 Bean 对象。在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供...
`<listener>`标签中的`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`定义了一个监听器,它会在Web应用启动时自动加载默认的Spring配置文件,即`/WEB-INF/...
以上就是Spring中配置数据源的基本步骤,通过`applicationContext.xml`文件,你可以根据项目需求灵活调整数据源配置,确保数据库连接的高效和稳定。在实际开发中,你可能还需要考虑更多因素,比如数据库连接池的优化...
Spring 主配置文件(applicationContext.xml) 导入约束详解 Spring 主配置文件(applicationContext.xml) 是 Spring 框架的核心配置文件之一,用于定义和配置 Spring 应用程序的各个组件和服务。在使用 Spring 框架...
在`applicationContext.xml`文件中,定义DataSource,这是连接到数据库的关键。配置包括数据库驱动类、URL、用户名和密码。例如: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">...
在Spring 3.0及以后的版本中,还引入了AnnotationConfigApplicationContext,这是一个不依赖XML配置文件,而是通过Java配置类来配置的ApplicationContext实现。这种方式可以和Java的注解相结合,提供更加强大的配置...
上述代码中,通过`ContextLoaderListener`加载了一个名为`applicationContext.xml`的配置文件,该文件包含了所有Spring Bean的定义。这意味着所有Bean会在应用程序启动时被初始化。 #### 加载顺序总结 根据上述...