启动命令为
//开发环境
java -jar app.jar --spring.profiles.active=dev--server.port=8060
//测试环境
java -jar app.jar --spring.profiles.active=qa --server.port=8060
//生产环境
java -jar app.jar --spring.profiles.active=prod --server.port=8060
废话少说,直接上代码
application.yml,打包为jar的时候主要把spring.profile.active注释掉.否则 命令行参数 --spring.profiles.active可能不生效,不知何解
spring: profiles: #指定读取配置文件:dev(开发环境),prod(生产环境),qa(测试环境) active: qa #日志 logging: config: classpath:logback-${spring.profiles.active}.xml
logback-dev.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="true"> <contextName>logback</contextName> <property name="log.path" value="lzw/logback.log" /> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> </appender> <root level="warn"> <appender-ref ref="console" /> <!--<appender-ref ref="file" />--> </root> <logger name="org.springframework.scheduling" level="error" /> <Logger name="org.apache.catalina.util.LifecycleBase" level="error" /> <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" /> <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" /> <Logger name="org.springframework" level="debug" /> <logger name="com.lzw" level="debug" /> <logger name="org.mybatis" level="debug" /> <logger name="java.sql" level="error" /> <logger name="java.sql.Connection" level="error" /> <logger name="java.sql.Statement" level="error" /> <logger name="java.sql.PreparedStatement" level="error" /> <logger name="java.sql.ResultSet" level="error" /> </configuration>
logback-qa.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <configuration debug="true"> <contextName>logback</contextName> <property name="log.path" value="lzw/logback.log" /> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> </appender> <root level="warn"> <appender-ref ref="file" /> </root> <logger name="org.springframework.scheduling" level="error" /> <logger name="com.lzw" level="warn" /> <Logger name="org.apache.catalina.util.LifecycleBase" level="warn" /> <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" /> <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" /> <Logger name="org.springframework" level="warn" /> <logger name="org.mybatis" level="warn" /> <logger name="java.sql" level="error" /> <logger name="java.sql.Connection" level="error" /> <logger name="java.sql.Statement" level="error" /> <logger name="java.sql.PreparedStatement" level="error" /> <logger name="java.sql.ResultSet" level="error" /> </configuration>
相关推荐
在Spring Boot应用中,`application.yml`文件是一个关键的组件,它用于定义应用程序的配置属性。这个文件通常位于`src/main/resources`目录下,并且被Spring Boot自动加载以提供配置信息。本文将深入探讨如何在代码...
在 SpringBoot 中,`application.yml` 文件用于定义配置属性,如服务器端口、数据库连接信息、日志配置等。可以通过 `@Value` 注解或 `@ConfigurationProperties` 来注入这些配置。 3. **Logback 配置**: Logback...
七、Spring Boot 配置文件优先级Spring Boot 支持多种配置文件(application.properties 或 application.yml),它们的加载顺序为:1. `application-${profile}.properties/yml` (当前激活 profile 的配置)2. `...
Spring Boot提供了简单且强大的方式来处理配置文件,特别是通过`application.yml`或`application.properties`。在这个主题中,我们将深入探讨如何利用Java代码从`application.yml`配置文件中获取相关属性,采用的是...
当使用logback作为日志框架时,通常我们会将配置文件放在`src/main/resources`目录下,命名为`logback-spring.xml`,这是因为Spring Boot默认支持`logback-spring.xml`,它能与Spring的自动配置机制集成。...
在SpringBoot 2.0.2.RELEASE版本中,整合Mybatis并采用XML配置的方式进行开发,可以帮助开发者更高效地管理数据库操作。SpringBoot旨在简化Spring应用的初始搭建以及开发过程,而Mybatis则是一个轻量级的持久层框架...
7. **多环境配置**: 如果有针对不同环境的配置(如`application-dev.yml`,`application-prod.yml`),确保当前激活的Spring Profile匹配相应的配置文件。可以在命令行参数、环境变量或`SpringApplication.run`...
此外,它还支持Spring Boot的属性注入,使得我们能够从`application.properties`或`application.yml`中读取日志配置。 接下来,我们将逐步介绍如何创建和配置`logback-spring.xml`文件: 1. **创建配置文件**: ...
本篇文章主要探讨如何在Spring Boot项目中对`application.yml`文件中的数据库配置密码进行加密,以防止数据泄露。 首先,我们需要了解Spring Boot允许在`application.yml`或`application.properties`文件中配置...
1. **Spring Boot 配置**:学习如何在 `application.properties` 或 `application.yml` 文件中配置 Dubbo 相关的参数,如服务提供者和消费者的地址、注册中心类型等。 2. **启动器(Starter)**:理解 `...
在SpringBoot中从application.yml中获取自定义常量方式 在SpringBoot框架中,我们经常需要在application.yml文件中配置一些自定义的常量,以便在项目中使用。在本文中,我们将详细介绍如何在SpringBoot中从...
Apollo是一款由阿里巴巴开源的分布式配置中心,支持实时推送、多环境、多集群的配置管理。它提供了图形化的配置界面,使得开发者可以方便地对应用配置进行修改,并且能够实时推送到各个服务节点,避免了重启服务来...
springboot+springMVC+tk.mybatis+lombook+yml配置+logback-spring日志配置+ueditor源码修改整合 经测试有效,内附数据库文件及测试账号数据,在项目/doc文件夹中
命令行一键启动SpringBoot的jar包,并指定application.yml 不需要再打包时候特别的修改application.yml和application-druid.yml. 同时可以在启动后设置控制台窗口的标题。 特别适合在有多个jar启动的工作台时,能够...
添加公众号:猿有一技,回复 :Spring ,获取SpringBoot2.x quartz yml完整配置
2. **配置Elasticsearch**:在`application.properties`或`application.yml`中,你需要配置Elasticsearch的连接信息,如节点地址、端口等: ```properties spring.data.elasticsearch.cluster-name=your_cluster_...
SpringBoot2.x作为轻量级的Java开发框架,以其简洁的配置、快速的启动和强大的集成能力深受开发者喜爱。而Sharding-JDBC作为一款轻量级的数据库分片中间件,无需额外部署,只需在Java代码中引入依赖即可实现数据库的...
基于`SpringBoot2.X + Lettuce`实现Redis集成和多库实时切换...项目中通过`application.properties`或`application.yml`文件配置Redis连接信息,如主机地址、端口号、密码等。可以配置多个Redis实例,用于实现多库切换。