Spring加载配置文件

简介: <p><span style="font-size:18px"><span style="white-space:pre"></span>        最近在看《Spring3.0就这么简单》这本书,开发环境为<span style="color:#ff6666">IDEA+Maven</span>,今儿写代码时,Spring加载配置文件总是失败,相当郁闷,不过还是解决了。</span>

        最近在看《Spring3.0就这么简单》这本书,开发环境为IDEA+Maven,今儿写代码时,Spring加载配置文件总是失败,相当郁闷,不过还是解决了。

最初的写法是

 Resource res=new ClassPathResource("classpathcom/smart/beanfactory/beans.xml");
或者
ApplicationContext factory = new ClassPathXmlApplicationContext("beans.xml");
    当然,括号里的路径诸如直接写beans.xml,或在前面加路径,或加classpath,或将beans.xml换在src、main、java等目录下,改了好多次,运行结果均是找不到配置文件。
目录结构如下:

解决方案:将配置文件放在resources目录下,这是Maven项目放置配置文件的专用目录。


ApplicationContext的初始化:
1、配置文件在 类路径,优先使用 ClassPathXMLApplicationContext:
    ApplicationContext ctx=new ClassPathXmlApplicationContext("com/smart/context/beans.xml");
对于ClassPathXMLApplicationContext,
"com/smart/context/beans.xml"等同于"classpath:com/smart/context/beans.xml"

2、配置文件在 文件系统路径,优先使用 FileSystemXMLApplicationContext
ApplicationContext ctx=new FileSystemXMLApplicationContext("com/smart/context/beans.xml");
"com/smart/context/beans.xml"等同于"file:com/smart/context/beans.xml"

3、配置文件整合
    Spring会自动将多个配置文件在内存中“整合”成一个配置文件。
new ClassPathXMLApplicationContext(new String[] {"conf/beans1.xml","conf/beans2.xml"})

FileSystem~和ClassPath~都可显示使用带资源类型前缀的路径。
区别:如果不显示指定资源类型前缀,就分别将路径解析为文件系统路径和类路径。

相关代码:可访问我的github的chapter仓库chapter2目录。


目录
相关文章
|
3月前
|
Java Spring
Spring boot 运行服务jar外配置配置文件方式总结
Spring boot 运行服务jar外配置配置文件方式总结
733 0
|
13天前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
58 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
1月前
|
缓存 安全 Java
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
106 24
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
|
9天前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
16 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
1月前
|
XML 存储 Java
spring源码刨析-spring-beans(内部核心组件,beanDefinition加载过程)
spring源码刨析-spring-beans(内部核心组件,beanDefinition加载过程)
|
1月前
|
消息中间件 NoSQL 安全
(转)Spring Boot加载 不同位置的 application.properties配置文件顺序规则
这篇文章介绍了Spring Boot加载配置文件的顺序规则,包括不同位置的application.properties文件的加载优先级,以及如何通过命令行参数或环境变量来指定配置文件的名称和位置。
|
2月前
|
Java Spring
Spring boot +Thymeleaf 本地图片加载失败(图片路径)的问题及解决方法
这篇文章详细讲解了在Spring Boot应用程序中本地图片无法加载的问题原因,并提供了两个示例来说明如何通过使用正确的相对路径或Thymeleaf语法来解决图片路径问题。
|
2月前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
51 0
|
2月前
|
前端开发 JavaScript Java
Spring boot 本地图片不能加载(图片路径)的问题及解决方法
这篇文章讨论了Spring Boot应用程序中本地图片无法加载的问题,通常由图片路径不正确引起,并提供了使用正确的相对路径和Thymeleaf语法来解决这一问题的两种方法。
|
2月前
|
XML Java 数据库连接
深入解析 Spring 配置文件:从基础到高级
【8月更文挑战第3天】Spring配置文件是构建与管理Spring应用的核心,它涵盖了从基础到高级的各种配置技巧。基础配置采用`.xml`格式定义Bean及其依赖;中级配置包括设置Bean作用域及引入属性文件;高级配置则涉及AOP、事务管理和与其他框架的整合。熟练掌握这些配置能帮助开发者构建出更为灵活且易维护的应用系统。