因为生产和开发测试的环境不同,所以有时候需要把properties文件放在包外方便修改配置。
这里用的是spring的PropertyPlaceholderConfigurer来读取properties属性。
<!-- Load ProperyFile -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:${user.dir}/config/application.properties</value>
<value>file:${user.dir}/config/mailMsg.properties</value>
</list>
</property>
<property name="fileEncoding" value="utf-8"/>
</bean>
因为我是用的是eclipse,所以 file:${user.dir} 在windows环境下会取到eclipse路径下,而在linxu服务器上则会取到你当前放置war包的weblogic的domain下,之后拼接你的路径即可。
当然如果权限足够的话,也可以用file:${user.home}来获取properties的值,windows的话是document/../..的路径,如果是linxu则是根目录下home的路径。
当然如果你要取包内的properties,用classpath:就可以解决了,是取classes下的路径。
这样修改之后就能完成war包和配置文件的分离。
分享到:
相关推荐
在Spring Boot项目中,打包成WAR文件并将其部署到Tomcat服务器时,有时我们需要将配置文件放置在Tomcat的`conf`目录下,以便于统一管理和更新。这个过程涉及到Spring Boot的自定义环境处理器...
Spring Boot 项目通过 Maven 或 Gradle 构建系统打包成 WAR 文件后,可以将该文件复制到 Tomcat 的 webapps 目录下。当 Tomcat 重启或启动时,它会自动检测并部署这个 WAR 文件。 然而,"后面需修改"暗示这个示例...
总结来说,Java中读取配置文件是一个基本但至关重要的操作,使用`Class.getResourceAsStream`结合`Properties`类可以轻松完成。确保正确设置配置文件的路径,以及在使用完毕后关闭`InputStream`,以避免资源泄露。...
总结来说,当Spring Boot WAR包在Docker中遇到资源访问问题时,可以采用动态读取并创建临时文件的方法,以绕过WAR包的压缩结构。同时,确保Docker环境的文件系统配置正确,以便正确地访问和管理这些临时文件。这种...
5. **文件系统访问**:Spring的`Resource`接口提供了读取、写入和复制文件的能力,例如`readInputStream()`方法可以获取到一个输入流,用于读取文件内容。 6. **classpath资源**:Spring允许在类路径中查找资源,这...
例如,如果有一个名为`config.properties`的配置文件,可以这样读取: ```java ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream is = classLoader.getResourceAsStream...
2. **独立运行**:Spring Boot应用可以被打包成一个可执行的jar或war文件,使得部署变得更加简单。 3. **嵌入式服务器**:Spring Boot支持嵌入式Tomcat、Jetty或Undertow,无需打包WAR文件上传到外部容器中。 4. **...
以Properties配置文件为例,可以在配置文件中指定具体的类实现,然后通过Java程序读取这个配置文件,根据配置文件中的信息使用反射机制来创建对象实例。 总结来说,Spring框架通过IoC容器实现控制反转和依赖注入,...
1. 独立运行的 Spring 项目:通过将所有依赖打包成一个可执行的 JAR 或 WAR 文件,Spring Boot 应用可以直接使用 `java -jar` 命令运行,无需额外的服务器环境。 2. 内嵌 Servlet 容器:Spring Boot 支持内嵌Tomcat...
- 检查Tomcat和war包的文件权限,确保Tomcat有足够的权限读取和执行war包内的文件。 10. **服务器资源限制**: - 如果服务器内存不足或CPU资源紧张,可能会导致启动失败。检查服务器资源状况,并根据需要调整...
项目配置通常存储在 `application.properties` 或 `application.yml` 文件中,Spring Boot 可以轻松读取这些配置,并在运行时动态调整。 6. **Spring Initializr(初始化器)** Spring Initializr 是一个在线工具...
在 Spring Boot 中,数据源的配置通常是自动的,只需要在 application.properties 或 application.yml 文件中添加数据库连接信息即可。此外,你还可以使用 @Entity、@Table、@Id 等注解来标记实体类和属性,以指定...
由于Spring Boot内置了一个内嵌的Tomcat web容器,因此我们无需将应用打包成war文件,而是可以直接以jar包的形式运行,这极大地简化了部署过程。 Spring Boot的主要优点在于简化配置、编码和部署。在没有Spring ...
如果压缩包中包含了Spring Boot相关资源,那么这是一个快速开发框架,它简化了Spring应用的初始搭建以及配置过程,通常会有一个`application.properties`或`application.yml`文件来管理配置。 6. **Spring ...
- **JarLauncher**: 当执行 JAR 文件时,`JarLauncher` 会读取 `MANIFEST.MF` 文件,找到 `Start-Class` 并加载该类。`JarLauncher` 使用自定义的类加载器 (`LaunchedURLClassLoader`) 来加载应用及其依赖。 - *...
2. **applicationContext.properties** 和 **applicationContext.xml**:这两个文件与Spring框架相关,是Spring应用上下文的配置文件。`applicationContext.properties`用于存储应用的属性配置,而`...
- **独立运行**:可以将应用程序作为一个独立的JAR包运行,无需构建WAR包放入容器。 - **健康检查**:提供健康检查接口,可检查系统、服务的运行状态。 - **Actuator**:提供一系列监控和管理应用的工具,如端点、...
1. **环境准备**:设置应用的运行环境,包括读取 `application.properties` 或 `application.yml` 文件来配置应用。 2. **类型扫描**:根据 `@Component`、`@Configuration` 和 `@ConfigurationProperties` 等注解...
在Spring项目中,通常会通过`Properties`类加载这些配置,然后在Spring的配置文件中引用,以便于管理数据库连接。 总结来说,"maven+spring"是Java开发中的常见组合,Maven作为项目管理工具,Spring作为应用框架,...
6. **项目部署**:将工程打包成WAR文件,部署到Tomcat服务器上,启动服务,测试各个功能是否正常工作。 7. **实践与优化**:通过实际操作,理解每个框架的作用和它们之间的协作。根据需求调整配置,如添加拦截器、...