springboot 多環(huán)境配置教程
在上一課中我們通過(guò)idea工具沒(méi)有做任何配置就構(gòu)建了一個(gè)springboot項(xiàng)目,并且已經(jīng)成功啟動(dòng)了,但我們都很清楚這些都遠(yuǎn)遠(yuǎn)不能達(dá)到我們實(shí)際項(xiàng)目的需求,比如我們要引入我們自己的redis配置、mysql配置等,應(yīng)該如何處理呢?在spring mvc中我們都是通過(guò)spring.xml相關(guān)文件配置,在springboot中這些都已經(jīng)不存在了,我們應(yīng)該怎樣配置呢?別急,馬上為大家揭曉謎底,跟著我一起來(lái)吧!
NO1.我們?cè)谧鲰?xiàng)目的時(shí)候是不是都會(huì)區(qū)分很多環(huán)境呢?比如開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境等,那么第一步我將先帶大家配置好各個(gè)環(huán)境;
1.首先打開(kāi)我們項(xiàng)目的pom.xml文件加入以下內(nèi)容:
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
</plugins>
<filters>
<filter>src/main/resources/application-${filter-resource-name}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>filters/*</exclude>
<exclude>filters/*</exclude>
<exclude>application-dev.properties</exclude>
<exclude>application-test.properties</exclude>
<exclude>application-alpha.properties</exclude>
<exclude>application-prod.properties</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${filter-resource-name}.properties</include>
</includes>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<filter-resource-name>dev</filter-resource-name>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<filter-resource-name>test</filter-resource-name>
</properties>
</profile>
<profile>
<id>alpha</id>
<properties>
<filter-resource-name>alpha</filter-resource-name>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<filter-resource-name>prod</filter-resource-name>
</properties>
</profile>
</profiles>
這一段相信大家都很熟悉了吧,我就不多做解釋了(有疑問(wèn)的童鞋可以私信我哦);
2.然后打開(kāi)application.properties文件,并在其中加入以下內(nèi)容:
#表示激活的配置文件(dev|prod)
spring.profiles.active=@filter-resource-name@
整個(gè)項(xiàng)目變成了如下結(jié)構(gòu):

至此我們的springboot多環(huán)境配置已經(jīng)完成;
3.設(shè)置日志級(jí)別
#log level logging.level.root=debug
4.設(shè)置自定義端口以及實(shí)例名
#端口 server.port=8888 #實(shí)例名 spring.application.name=demo-springboot
5.logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="demo" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>demo/demo.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滾 daily -->
<fileNamePattern>demo/demo.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的歷史 10天 -->
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="com.example.demo" level="INFO" additivity="false">
<appender-ref ref="demo"/>
</logger>
<logger name="com.example.demo.dao" level="DEBUG" />
<logger name="com.example.demo.service" level="INFO" />
<logger name="druid.sql.Statement" level="DEBUG" />
<logger name="druid.sql.ResultSet" level="DEBUG" />
<logger name="org.apache" level="INFO" />
<logger name="org.mybatis.spring" level="ERROR" />
<logger name="org.springframework" level="INFO"></logger>
<logger name="springfox" level="ERROR"></logger>
<root level="INFO">
<appender-ref ref="demo" />
</root>
</configuration
至此,我們項(xiàng)目的基本環(huán)境配置已經(jīng)搭建好,通過(guò)maven clean install以下選擇dev|test|prod打入你指定的配置,然后run application運(yùn)行,如果通過(guò)localhost:8888可以訪問(wèn)說(shuō)明你的配置worked了;但是這還遠(yuǎn)遠(yuǎn)不夠,我們項(xiàng)目開(kāi)發(fā)總得操作數(shù)據(jù)庫(kù)吧,哈哈 是的,接下來(lái)讓我們進(jìn)入springboot + mysql + mybatis的世界吧!
總結(jié)
以上所述是小編給大家介紹的springboot 多環(huán)境配置教程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java使用Spire.Doc for Java輕松搞定Word文檔打印
在 Java 應(yīng)用程序中實(shí)現(xiàn) Word 文檔的直接打印功能是許多企業(yè)級(jí)應(yīng)用的需求,本文將詳細(xì)介紹如何使用 Spire.Doc for Java實(shí)現(xiàn)從加載 Word 文檔到指定打印機(jī)打印的完整解決方案,感興趣的小伙伴可以了解下2026-02-02
Mybatis Properties 配置優(yōu)先級(jí)詳解
這篇文章主要介紹了Mybatis Properties 配置優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot實(shí)現(xiàn)License生成和校驗(yàn)的過(guò)程詳解
在我們向客戶(hù)銷(xiāo)售商業(yè)軟件的時(shí)候,常常需要對(duì)所發(fā)布的軟件實(shí)行一系列管控措施,諸如驗(yàn)證使用者身份、軟件是否到期,以及保存版權(quán)信息和開(kāi)發(fā)商詳情等,所以本文給大家介紹了SpringBoot實(shí)現(xiàn)License生成和校驗(yàn)的過(guò)程,需要的朋友可以參考下2024-09-09
JFreeChart插件實(shí)現(xiàn)的折線圖效果實(shí)例
這篇文章主要介紹了JFreeChart插件實(shí)現(xiàn)的折線圖效果,結(jié)合實(shí)例形式分析了基于JFreeChart繪制折線圖的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08
開(kāi)發(fā)者必讀:揭秘Python與Java的性能較量

