目次
まえがき
SpringBoot パッケージ化
Maven のパッケージ化
普通项目打包
打包遇到的一些问题
问题:source-1.5 中不支持 diamond运算符
问题二:打包出现某jar包无法打入
问题三:mvn clean 失败,出现Failed to execute goal
SpringBoot部署
ホームページ Java &#&チュートリアル SpringBoot はどのようにして簡単なパッケージ化とデプロイメントを実行するのでしょうか?

SpringBoot はどのようにして簡単なパッケージ化とデプロイメントを実行するのでしょうか?

Sep 12, 2018 pm 04:16 PM
springboot

この記事では、SpringBoot の簡単なパッケージ化とデプロイメントを実行する方法を説明します。 困っている友人は参考にしていただければ幸いです。

まえがき

この記事では主に、SpringBoot のパッケージ化とプロジェクトのデプロイメント、およびその際に発生するいくつかの問題の解決策を紹介します。

SpringBoot パッケージ化

SpringBoot パッケージ化では、パッケージ化に以前の Web プロジェクトを使用します。
最初に明確にする必要があるのは、プロジェクトが実行可能 jar パッケージにパッケージ化されているか、それとも tomcat で実行される war パッケージにパッケージ化されているかということです。
このプロジェクトはmavenを使用して構築されていますが、mavenでパッケージ化する方が便利ですが、ここではmavenでパッケージ化されていない通常のプロジェクトのパッケージ化方法も説明します。

Maven のパッケージ化

まず、maven メソッドを使用してパッケージ化します:
jar パッケージ の場合は、pom.xml でパッケージを指定する必要があります:

<packaging>jar</packaging>
ログイン後にコピー
pom.xml指定打成的包为:

<packaging>war</packaging>
ログイン後にコピー

如果是war包。
需在pom.xml指定打成的包为:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
ログイン後にコピー

并通过<scope>标签在打包的时候排除tomcat依赖

<build>
        <defaultGoal>compile</defaultGoal>
        <sourceDirectory>src</sourceDirectory>
        <finalName>springboot-package</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin </artifactId>
                <configuration>
                    <fork>true</fork>
                    <mainClass>com.pancm.App</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
ログイン後にコピー

然后添加SpringBoot自带的打包方式
示例如下:

<build>
    <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-assembly-plugin</artifactId>  
            <version>2.5.5</version>  
            <configuration>
                <archive>  
                    <manifest>  
                        <mainClass>com.pancm.App</mainClass>  
                    </manifest>  
                </archive>  
                <descriptorRefs>  
                    <descriptorRef>jar-with-dependencies</descriptorRef>  
                </descriptorRefs>  
            </configuration>  
        </plugin> 
       </plugins>
    </build>
ログイン後にコピー

注:<finalName>标签是指定打包之后的名称,<mainClass>是指定main函数。

也可以不用SpringBoot自带的打包方式,使用mavenassembly插件进行打包。
示例如下:

mvn clean package
ログイン後にコピー

pom.xml中添加完相应的标签之后,我们只需在项目同级(pom.xml同级)输入

mvn clean package  -Dmaven.test.skip=true
ログイン後にコピー

即可完成打包
如果想排除测试代码,则可以输入:

logging.config=logback.xml
ログイン後にコピー

来进行打包。

一般我们是把application.propertieslogback.xml文件放在resources文件夹中,但是进行打包之后,它们也会包含在jarwar包中,如果我们想更改配置,则会比较麻烦。
如果想将它们和项目放在同级目录下,application.properties可以直接移出和项目同级的目录下,因为Spring程序会按优先级从下面这些路径来加载application.properties配置文件:

  • 当前目录下的/config目录

  • 当前目录

  • classpath里的/config目录

  • classpath 根目录

springboot默认加载的logback是在classpath目录下,这时我们只需要在application.properties配置文件指定logback.xml的路径即可。
添加如下:

mvn install:install-file -Dfile=lib/pancmtools.jar -DgroupId=com.panncm.utils -DartifactId=pancm-utils -Dversion=1.0 -Dpackaging=jar
ログイン後にコピー

如果引入了第三方的jar包,但是又无法通过maven私服进行下载,这时可以手动进行编译。
例如,我写了一个工具类为Mytools,然后把它打成了一个jar包,然后放在我的这个项目中lib目录下,并且需要引用它,那么此时便可以对该jar包进行编译到本地仓库中,然后再pom.xml添加相应的名称和版本号。
命令示例:

<dependency>
            <groupId>com.panncm.utils</groupId>
            <artifactId>pancm-utils</artifactId>
            <version>1.0</version>
</dependency>
ログイン後にコピー

pom.xml添加

<?xml version="1.0" encoding="UTF-8"?>
<project name="springboot-package" default="copyAll" basedir=".">
    <property name="build" value="build" />
    <property name="target" value="target" />
    <target name="clean">
        <delete dir="${target}" />
        <delete dir="${build}" />
    </target>

    <target name="create-path" depends="clean">
        <mkdir dir="${build}" />
    </target>

    <target name="mvn_package" depends="create-path">
        <exec executable="cmd" failonerror="true">
            <arg line="/c mvn install:install-file -Dfile=lib/pancmtools.jar -DgroupId=com.panncm.utils -DartifactId=pancm-utils -Dversion=1.0 -Dpackaging=jar" />
        </exec>
        <exec executable="cmd" failonerror="true">
            <arg line="/c mvn clean package" />
        </exec>
    </target>

    <target name="copyAll" depends="mvn_package">
        <copy todir="${build}" file="${target}/springboot-package.jar"></copy> 
        <copy todir="${build}" file="logback.xml"></copy>
        <copy todir="${build}" file="application.properties"></copy>
        <copy todir="${build}" file="run.bat"></copy>
    </target>
</project>
ログイン後にコピー
ログイン後にコピー

便可以进行打包了。

普通项目打包

如果是普通的项目,没有使用maven构建的话,可以使用eclipse等工具进行打包。
如果是jar
首先在eclipse中运行该项目(main方法运行),然后在eclipse中右键项目 export ->java -> runnable jar file-> package required libraries into generated jar 指定main方法,然后选择打包的名称以及打包的路径。点击finish完成打包。

如果是war
eclipse中右键项目 export ->web -> war fileそれが war パッケージの場合。

pom.xml でパッケージを

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <fastjson>1.2.41</fastjson>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
ログイン後にコピー
ログイン後にコピー

として指定し、<scope> タグを使用して

tomcat 依存関係

<build>  
        <plugins>  
            <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>  
                </configuration>  
            </plugin>  
        </plugins>  
    </build>
ログイン後にコピー
ログイン後にコピー
を除外する必要があります。 SpringBoot に付属するパッケージ化メソッド
例は次のとおりです:
  <repositories>  
     <repository>  
            <id>spring-milestone</id>  
            <url>http://repo.spring.io/libs-release</url>  
     </repository>  
   </repositories>
ログイン後にコピー
ログイン後にコピー

注: <finalName> タグは、パッケージ化を指定した後の名前です。 mainClass> は main 関数を指定します。 🎜🎜🎜🎜SpringBoot🎜 独自のパッケージ化メソッドの代わりに、🎜maven🎜 の 🎜assembly🎜 プラグインをパッケージ化に使用することもできます。 🎜🎜例は次のとおりです:🎜🎜
java -jar springboot-package
ログイン後にコピー
ログイン後にコピー
🎜🎜pom.xml🎜に対応するタグを追加した後、プロジェクトピア(pom.コード)に🎜
@echo off
title "springboot-package"
java -jar springboot-package.jar
ログイン後にコピー
ログイン後にコピー
🎜を入力するだけで済みます。パッケージ化するには、🎜
nohup -jar springboot-package &amp;
ログイン後にコピー
ログイン後にコピー
🎜と入力できます。 。 🎜🎜通常、🎜application.properties🎜ファイルと🎜logback.xml🎜ファイルはリソースフォルダーに配置されますが、パッケージ化後、構成を変更したい場合は、🎜jar🎜または🎜war🎜パッケージにも含まれます。 、さらに面倒になります。 🎜それらをプロジェクトと同じディレクトリに置きたい場合は、Spring プログラムが 🎜application.properties🎜設定ファイルをロードするため、🎜application.properties🎜をプロジェクトと同じレベルのディレクトリから直接移動できます。優先度に応じて次のパスから:🎜
  • 🎜カレントディレクトリの /config ディレクトリ🎜
  • 🎜カレントディレクトリ🎜
  • 🎜/config in the classpath Directory🎜
  • 🎜classpath root directory🎜
🎜🎜springboot🎜 デフォルトでロードされる 🎜logback🎜 は、🎜classpath🎜 ディレクトリにあります。今回は 🎜application.properties を追加するだけです🎜設定ファイルは 🎜logback.xml🎜 へのパスを指定するだけです。 🎜以下を追加します:🎜
kill -9 pid(jar的进程id)
ログイン後にコピー
ログイン後にコピー
🎜 サードパーティの 🎜jar🎜 パッケージが導入されているが、🎜maven🎜 プライベート サーバー経由でダウンロードできない場合は、手動でコンパイルできます。 🎜たとえば、🎜Mytools🎜というツールクラスを作成し、それを🎜jar🎜パッケージにして、プロジェクトの🎜lib🎜ディレクトリに配置しました。それを参照する必要があるため、コンパイルできます。 🎜jar🎜 パッケージをローカル ウェアハウスに保存し、対応する名前とバージョン番号を 🎜pom.xml🎜 に追加します。 🎜コマンド例: 🎜
ln -s /home/jars/app/springboot-package.jar /etc/init.d/springboot-package
chmod +x /etc/init.d/springboot-package
ログイン後にコピー
ログイン後にコピー
🎜🎜pom.xml🎜🎜
service springboot-package start|stop|restart
ログイン後にコピー
ログイン後にコピー
🎜を追加するとパッケージ化できます。 🎜🎜通常のプロジェクトのパッケージ化🎜🎜 通常のプロジェクトで、🎜maven🎜を使用してビルドされていない場合は、🎜eclipse🎜やその他のツールを使用してパッケージ化できます。 🎜jar🎜 パッケージ🎜 の場合は、まず 🎜eclipse🎜 でプロジェクトを実行し (🎜main🎜 メソッドの実行)、次に 🎜eclipse🎜export ->java -> でプロジェクトを右クリックします。 file-> 生成された jar に必要なライブラリをパッケージ化します。 🎜main🎜 メソッドを指定し、パッケージ名とパッケージのパスを選択します。 🎜finish🎜 をクリックしてパッケージ化を完了します。 🎜war🎜 パッケージの場合は、🎜eclipse🎜 でプロジェクト export ->web ->war ファイル を右クリックし、パッケージ名とパッケージ パスを選択します。 🎜finish🎜 をクリックしてパッケージ化を完了します。 🎜🎜Antパッケージング🎜🎜 上記2種類のパッケージングを紹介した後、🎜ant🎜メソッドによるパッケージングを紹介します(🎜ant🎜環境をインストールする必要があります。インストール方法は基本的にmavenと同じです。パスを設定し、環境変数を設定します。これについてはここでは詳しく説明しません)。 🎜通常、パッケージ化した後、パッケージと設定ファイルをディレクトリに配置する必要があります。手動でコピーして貼り付けたくない場合は、🎜ant🎜 を使用してパッケージ化し、パッケージ化されたファイルを統合できます。 🎜ここで🎜build.xml🎜設定ファイルを記述します。 🎜
<?xml version="1.0" encoding="UTF-8"?>
<project name="springboot-package" default="copyAll" basedir=".">
    <property name="build" value="build" />
    <property name="target" value="target" />
    <target name="clean">
        <delete dir="${target}" />
        <delete dir="${build}" />
    </target>

    <target name="create-path" depends="clean">
        <mkdir dir="${build}" />
    </target>

    <target name="mvn_package" depends="create-path">
        <exec executable="cmd" failonerror="true">
            <arg line="/c mvn install:install-file -Dfile=lib/pancmtools.jar -DgroupId=com.panncm.utils -DartifactId=pancm-utils -Dversion=1.0 -Dpackaging=jar" />
        </exec>
        <exec executable="cmd" failonerror="true">
            <arg line="/c mvn clean package" />
        </exec>
    </target>

    <target name="copyAll" depends="mvn_package">
        <copy todir="${build}" file="${target}/springboot-package.jar"></copy> 
        <copy todir="${build}" file="logback.xml"></copy>
        <copy todir="${build}" file="application.properties"></copy>
        <copy todir="${build}" file="run.bat"></copy>
    </target>
</project>
ログイン後にコピー
ログイン後にコピー

注:<mkdir dir="${build}" />是指定文件存放的文件夹,executable是使用cmd命令,line是执行的语句, 标签是将文件复制到指定的文件夹中。

然后再新建一个 build.bat文件,里面只需要填写 ant就行了。
准备完之后,只需双击build.bat,项目和配置文件就自动到build文件中了,省去了很多操作。

虽然现在流行通过jenkins进行打包部署,不过使用ant加maven进行打包也不错的,比较简单。

打包遇到的一些问题

问题:source-1.5 中不支持 diamond运算符

解决办法一:
在properties添加
<maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <fastjson>1.2.41</fastjson>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
ログイン後にコピー
ログイン後にコピー

解决方案二:
在plugin中添加 <source>1.8</source><target>1.8</target>

<build>  
        <plugins>  
            <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>  
                </configuration>  
            </plugin>  
        </plugins>  
    </build>
ログイン後にコピー
ログイン後にコピー

问题二:打包出现某jar包无法打入

实际是可以下载,但是无法将此打入包中

解决办法:
pom.xml中添加

  <repositories>  
     <repository>  
            <id>spring-milestone</id>  
            <url>http://repo.spring.io/libs-release</url>  
     </repository>  
   </repositories>
ログイン後にコピー
ログイン後にコピー

问题三:mvn clean 失败,出现Failed to execute goal

原因: 在clean的时候,target里面的文件被占用了。
解决办法: 不占用就行了。

SpringBoot部署

如果是jar项目
Windows系统在项目同级目录下输入:

java -jar springboot-package
ログイン後にコピー
ログイン後にコピー

即可启动项目。
关闭项目,只需关掉dos界面就可以了。
也可以写一个bat文件进行运行。
示例:

@echo off
title "springboot-package"
java -jar springboot-package.jar
ログイン後にコピー
ログイン後にコピー

Linux系统在项目同级目录下输入:

nohup -jar springboot-package &amp;
ログイン後にコピー
ログイン後にコピー

即可启动。
关闭输入:

kill -9 pid(jar的进程id)
ログイン後にコピー
ログイン後にコピー

也可以在init.d注册一个服务
示例:

ln -s /home/jars/app/springboot-package.jar /etc/init.d/springboot-package
chmod +x /etc/init.d/springboot-package
ログイン後にコピー
ログイン後にコピー

然后输入:

service springboot-package start|stop|restart
ログイン後にコピー
ログイン後にコピー

进行启动或者停止。
当然也可以编写xshell脚本进行启动和关闭。
示例:

#!/bin/bash
APPDIR=`pwd`
PIDFILE=$APPDIR/springboot-package.pid
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then
echo "springboot-package is already running..."
exit 1
fi
nohup java -jar $APPDIR/springboot-package.jar >/dev/null 2>&1 &
echo $! > $PIDFILE
echo "start springboot-package..."
ログイン後にコピー

如果是war项目
war放在tomcat/webapp目录下,然后启动tomcat就可以了。Windows系统 在tomcat/bin目录下双击startup.bat即可启动,双击shutdown.bat关闭。
Linux系统则在tomcat/bin 目录下输入startup.sh即可启动, 输入shutdown.sh关闭
附SpringBoot打包部署的项目工程地址:
https://github.com/xuwujing/springBoot-study/tree/master/springboot-package

相关推荐:

Tomcat部署Web项目该如何实现?

编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行

以上がSpringBoot はどのようにして簡単なパッケージ化とデプロイメントを実行するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法 Springboot が Jasypt を統合して構成ファイルの暗号化を実装する方法 Jun 01, 2023 am 08:55 AM

Jasypt の概要 Jasypt は、開発者が最小限の労力で基本的な暗号化機能を自分のプロジェクトに追加できる Java ライブラリであり、暗号化の仕組みを深く理解する必要はありません。一方向および双方向暗号化の高いセキュリティ。標準ベースの暗号化テクノロジー。パスワード、テキスト、数値、バイナリを暗号化します... Spring ベースのアプリケーション、オープン API への統合、JCE プロバイダーでの使用に適しています... 次の依存関係を追加します: com.github.ulisesbocchiojasypt-spring-boot-starter2. 1.1 Jasypt の特典はシステムのセキュリティを保護し、コードが漏洩した場合でもデータ ソースは保証されます。

SpringBoot が Redisson を統合して遅延キューを実装する方法 SpringBoot が Redisson を統合して遅延キューを実装する方法 May 30, 2023 pm 02:40 PM

使用シナリオ 1. 注文は正常に行われましたが、支払いが 30 分以内に行われませんでした。支払いがタイムアウトになり、注文が自動的にキャンセルされました 2. 注文に署名があり、署名後 7 日間評価が行われませんでした。注文がタイムアウトして評価されない場合、システムはデフォルトでプラスの評価を設定します 3. 注文は正常に行われます。販売者が 5 分間注文を受け取らない場合、注文はキャンセルされます。 4. 配送がタイムアウトします。 SMS リマインダーをプッシュします... 遅延が長く、リアルタイム パフォーマンスが低いシナリオでは、タスク スケジュールを使用して定期的なポーリング処理を実行できます。例: xxl-job 今日は選択します

Redis を使用して SpringBoot に分散ロックを実装する方法 Redis を使用して SpringBoot に分散ロックを実装する方法 Jun 03, 2023 am 08:16 AM

1. Redis は分散ロックの原則を実装しており、分散ロックが必要な理由 分散ロックについて話す前に、分散ロックが必要な理由を説明する必要があります。分散ロックの反対はスタンドアロン ロックです。マルチスレッド プログラムを作成するとき、共有変数を同時に操作することによって引き起こされるデータの問題を回避します。通常、ロックを使用して共有変数を相互に除外し、データの正確性を確保します。共有変数の使用範囲は同じプロセス内です。共有リソースを同時に操作する必要があるプロセスが複数ある場合、どうすれば相互排他的になるのでしょうか?今日のビジネス アプリケーションは通常マイクロサービス アーキテクチャであり、これは 1 つのアプリケーションが複数のプロセスをデプロイすることも意味します。複数のプロセスが MySQL の同じレコード行を変更する必要がある場合、順序の乱れた操作によって引き起こされるダーティ データを避けるために、分散が必要です。今回導入するスタイルはロックされています。ポイントを獲得したい

Springbootがjarパッケージにファイルを読み込んだ後にファイルにアクセスできない問題を解決する方法 Springbootがjarパッケージにファイルを読み込んだ後にファイルにアクセスできない問題を解決する方法 Jun 03, 2023 pm 04:38 PM

Springboot はファイルを読み取りますが、jar パッケージにパッケージ化した後、最新の開発にアクセスできません。jar パッケージにパッケージ化した後、Springboot がファイルを読み取れない状況があります。その理由は、パッケージ化後、ファイルの仮想パスが変更されるためです。は無効であり、ストリーム経由でのみアクセスできます。読み取ります。ファイルはリソースの下にあります publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

SpringBootとSpringMVCの比較と差異分析 SpringBootとSpringMVCの比較と差異分析 Dec 29, 2023 am 11:02 AM

SpringBoot と SpringMVC はどちらも Java 開発で一般的に使用されるフレームワークですが、それらの間には明らかな違いがいくつかあります。この記事では、これら 2 つのフレームワークの機能と使用法を調べ、その違いを比較します。まず、SpringBoot について学びましょう。 SpringBoot は、Spring フレームワークに基づいたアプリケーションの作成と展開を簡素化するために、Pivo​​tal チームによって開発されました。スタンドアロンの実行可能ファイルを構築するための高速かつ軽量な方法を提供します。

SQL ステートメントを使用せずに Springboot+Mybatis-plus を実装して複数のテーブルを追加する方法 SQL ステートメントを使用せずに Springboot+Mybatis-plus を実装して複数のテーブルを追加する方法 Jun 02, 2023 am 11:07 AM

Springboot+Mybatis-plus が SQL ステートメントを使用して複数テーブルの追加操作を実行しない場合、私が遭遇した問題は、テスト環境で思考をシミュレートすることによって分解されます: パラメーターを含む BrandDTO オブジェクトを作成し、パラメーターをバックグラウンドに渡すことをシミュレートします。 Mybatis-plus で複数テーブルの操作を実行するのは非常に難しいことを理解してください。Mybatis-plus-join などのツールを使用しない場合は、対応する Mapper.xml ファイルを設定し、臭くて長い ResultMap を設定するだけです。対応する SQL ステートメントを記述します。この方法は面倒に見えますが、柔軟性が高く、次のことが可能です。

SpringBoot が Redis をカスタマイズしてキャッシュのシリアル化を実装する方法 SpringBoot が Redis をカスタマイズしてキャッシュのシリアル化を実装する方法 Jun 03, 2023 am 11:32 AM

1. RedisAPI のデフォルトのシリアル化メカニズムである RedisTemplate1.1 をカスタマイズします。API ベースの Redis キャッシュ実装では、データ キャッシュ操作に RedisTemplate テンプレートを使用します。ここで、RedisTemplate クラスを開いて、クラスのソース コード情報を表示します。publicclassRedisTemplateextendsRedisAccessorimplementsRedisOperations、BeanClassLoaderAware{//キーを宣言、値の各種シリアル化メソッド、初期値は空 @NullableprivateRedisSe

Springbootでapplication.ymlの値を取得する方法 Springbootでapplication.ymlの値を取得する方法 Jun 03, 2023 pm 06:43 PM

プロジェクトでは、構成情報が必要になることがよくありますが、この情報はテスト環境と本番環境で構成が異なる場合があり、実際のビジネス状況に基づいて後で変更する必要がある場合があります。これらの構成をコードにハードコーディングすることはできません。構成ファイルに記述することをお勧めします。たとえば、この情報を application.yml ファイルに書き込むことができます。では、コード内でこのアドレスを取得または使用するにはどうすればよいでしょうか?方法は2つあります。方法 1: @Value アノテーションが付けられた ${key} を介して、構成ファイル (application.yml) 内のキーに対応する値を取得できます。この方法は、マイクロサービスが比較的少ない状況に適しています。方法 2: 実際には、プロジェクト、業務が複雑な場合、ロジック

See all articles