目次
1. Spring Boot のプロパティ設定ファイル" >1. Spring Boot のプロパティ設定ファイル
1.1 Spring Boot のプロパティ設定ファイルの最初の形式 " > 1.1 Spring Boot のプロパティ設定ファイルの最初の形式
1.2 Spring Boot のプロパティ構成ファイルの 2 番目の形式 (推奨) " > 1.2 Spring Boot のプロパティ構成ファイルの 2 番目の形式 (推奨)
1.3 application.properties 内のどのキーが構成可能ですか? " > 1.3 application.properties 内のどのキーが構成可能ですか?
Spring Boot によって提供される構成の優先順位シーケンスは比較的複雑です。優先度の高い順に、具体的なリスト(高いものから低いもの)は次のとおりです。 " > Spring Boot によって提供される構成の優先順位シーケンスは比較的複雑です。優先度の高い順に、具体的なリスト(高いものから低いもの)は次のとおりです。
2. Spring Boot カスタム プロパティ" >2. Spring Boot カスタム プロパティ
                2.1、 第一个自定义属性的例子  " >                2.1、 第一个自定义属性的例子  
            2.3 对于多个属性如何一次调用
3. マルチ環境属性の構成
理解を助けるために、これまでのプロジェクトのディレクトリ構造の図を追加します" >理解を助けるために、これまでのプロジェクトのディレクトリ構造の図を追加します
ホームページ バックエンド開発 PHPチュートリアル Spring Bootフレームワークのナレッジポイントを詳しく解説

Spring Bootフレームワークのナレッジポイントを詳しく解説

Aug 16, 2017 am 09:37 AM
boot spring 知識のポイント


概要: 1. Spring Boot のプロパティ設定ファイル 1.1 Spring Boot のプロパティ設定ファイルの最初の形式では、次の 2 つのプロパティの意味は、アクセス ポートを 8081 に変更し、 contextPath は、アドレス バーにアドレスの追加レイヤーを追加するものとして理解できます。 server.port= ...

1. Spring Boot のプロパティ設定ファイル

1.1 Spring Boot のプロパティ設定ファイルの最初の形式

プロパティ設定ファイルの使い方次の 2 つの属性は、アクセス ポートを 8081 に変更し、contextPath を追加します。これは、アドレス バーに追加のアドレス層を追加するものとして理解できます。

server.port=8081
server.context-path=/joyou
ログイン後にコピー

デモアプリケーション.javaを右クリック - 「実行」 Spring Boot アプリ起動プログラム

Spring Bootフレームワークのナレッジポイントを詳しく解説

効果は以下の通り まずポートが8081になりました

Spring Bootフレームワークのナレッジポイントを詳しく解説

ブラウザアクセス効果は以下の通りです。 。

Spring Bootフレームワークのナレッジポイントを詳しく解説

補足:

プロパティ ファイルは、構成プロパティを管理する最も一般的な方法です。 Spring Boot によって提供される SpringApplication クラスは、application.properties ファイルを検索してロードし、構成プロパティ値を取得します。 SpringApplication クラスは、次の場所でファイルを検索します:

1./config 現在のディレクトリのサブディレクトリ

2.現在のディレクトリ

3./configパッケージ内のクラスパス

4.クラスパス

上記のシーケンスは位置も示していますに含まれるプロパティ ファイルの優先順位。優先順位は高いものから低いものへと並べられます。

spring.config.name キーの構成属性を通じて、異なるプロパティ ファイル名を指定できます。 spring.config.location を通じて 追加のプロパティ ファイルの検索パス を追加することもできます。

1.2 Spring Boot のプロパティ構成ファイルの 2 番目の形式 (推奨)

yml 構成を使用して、リソース ディレクトリ application.yml ファイルに ap を作成します。コードは以下のように表示されます。

server:  port: 8082  context-path: /joyou
ログイン後にコピー

效果与1.1相同。

补充:

相对于属性文件来说,YAML 是一个更好的配置文件格式。当有前缀的情况下,使用.yml格式的配置文件更简单。

注意:使用.yml时,属性名的值和冒号中间必须有空格,如name: SpringBoot正确,SpringBoot就是错的。

YAML は Ruby on Rails でうまく機能します。 YAML は JSON のスーパーセットであり、階層構成データを定義するための便利な形式です。基本的な文法規則は次のとおりです:

  • 大文字と小文字を区別します

  • 階層関係を示すためにインデントを使用します

  • インデントするときにタブキーは使用できません。スペースのみが使用できます。

  • 同じレベルの要素が左揃えである限り、インデントされたスペースの数は関係ありません

  • # この文字から行末までがコメントになります。パーサーによって無視されます。

1.3 application.properties 内のどのキーが構成可能ですか?

SpringBoot 公式 Web サイトのドキュメントには、詳細な構成と手順が記載されています。付録 A. 共通アプリケーション プロパティ: http://docs.spring.io/spring-boot/docs/current-snapshot/htmlsingle/#Common-proper Ties 完全に不完全な統計ですが、この完全なアプリケーション プロパティ ファイルには 1183 行があります。そのうち、属性キーは 950 個あります。このような巨大な構成を見たら、あなたは間違いなく衝撃を受けるでしょう。ただし、実際のプロジェクトでは、Spring Boot の規則に従えば、通常、あまり多くの構成を個別に指定する必要はありません。

Spring Boot は、このジレンマから抜け出すために、優先的に設定を読み取るメカニズムを提供します。

Spring Boot によって提供される構成の優先順位シーケンスは比較的複雑です。優先度の高い順に、具体的なリスト(高いものから低いもの)は次のとおりです。

1. コマンドラインパラメータ(最優先)。

  • 2. System.getProperties() を通じて取得される Java システム パラメーター。

  • 3. オペレーティング システムの環境変数。

  • 4. java:comp/env から取得される JNDI 属性。

  • 5. RandomValuePropertySource によって生成された Random.* プロパティ。

  • 6.jar パッケージ外の application-{profile}.properties または application.yml (spring.profile 付き) 構成ファイル (spring.config.location パラメーターで指定)

  • 社内アプリケーション- {profile}.properties または application.yml (spring.profile あり) 設定ファイル

  • 8. Jar パッケージの外部 application.properties または application.yml (spring.profile なし) 設定ファイル

  • 9. jar パッケージ内の application.properties または application.yml (spring.profile なし) 構成ファイル

  • 10. @ を介した @Configuration アノテーションが付けられた Java クラスを含むアプリケーション Java 構成クラスPropertySource アノテーション宣言のプロパティ ファイル。

  • 11. SpringApplication.setDefaultProperties を通じて宣言されたデフォルトのプロパティ。

Spring Boot が優先順位の高い場所に構成を見つけた場合、優先順位の低い構成は無視されます。以下では、これらの優先事項について簡単に説明します。 Spring Boot の設定の優先順位は複雑に見えますが、実際には非常に合理的です。コマンド ライン パラメーターの優先順位は最高に設定されています。これにより、アプリケーションを再パッケージ化してデプロイすることなく、テスト環境または運用環境で構成パラメーターの値を迅速に変更できるようになります。 P SpringApplication クラスは、デフォルトで、「-」の先頭にある 構成パラメーター をアプリケーションで使用できるように変換します。たとえば、「--name = Alex」は構成パラメーター「name」を設定します。値は「アレックス」です。

この関数が必要ない場合は、SpringApplication.setAddCommandLineProperties(false)を使用できます。

コマンドライン引数の解析を無効にします。

2. Spring Boot カスタム プロパティ

2.1、 第一个自定义属性的例子

在实际开发过程中,需要程序去配置文件中读取数据(如:URL,一些账号密码等),所以就需要我们来自定义属性,供程序读取。

首先在yml里自定一个属性,格式如下:

company: joyouemployee: 二十岁以后
ログイン後にコピー

在Java程序中取值,代码如下:

package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloSpringBoot {	
	@Value("${company}")
	private String company;	
	@Value("${employee}")
	private String employee;	

	@RequestMapping(value="/hello" , method = RequestMethod.GET)
	public String HelloSpring(){		
			return company+"====="+employee;
	}
}
ログイン後にコピー

使用浏览器访问效果如下

Spring Bootフレームワークのナレッジポイントを詳しく解説

company: joyouemployee: 二十岁以后   
All: "公司: ${company} , 员工: ${employee}"
ログイン後にコピー

在JAVA程序中注入All属性

package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloSpringBoot {	
	@Value("${All}")	private String All;	
	
	@RequestMapping(value="/hello" , method = RequestMethod.GET)	public String HelloSpring(){		
			return All;
	}
}
ログイン後にコピー

效果如图所示:

Spring Bootフレームワークのナレッジポイントを詳しく解説

2.3 对于多个属性如何一次调用

看了上面的例子后,会产生一个疑问,如果想一次调用10个、20个、50个属性值,难道我要在程序中注入50次值,使用50次注解吗? 为了解决这个疑问,Spring Boot 是这么解决的!

首先一个女孩,有身高、体重、罩杯等等属性,我们可以这样来写!

Girl: 
   High: 160CM   Weight: 80KG   CupSize: 30A
ログイン後にコピー

然后写一个类,这个类中提供Girl的属性,及Setter,Geter方法,需要使用两个注解:

  • @Component //如果没有这个注解,会报找不到Bean的错

  • @ConfigurationProperties(prefix="Girl") //找到以Girl开头的属性

Spring Bootフレームワークのナレッジポイントを詳しく解説

然后在java程序中注入Gril类

package com.example.demo;@RestControllerpublic class HelloSpringBoot {	@Autowired
	private Girl girl;	
	
	@RequestMapping(value="/hello" , method = RequestMethod.GET)
	public String HelloSpring(){		
			return girl.toString();
	}
}
ログイン後にコピー

                启动程序,刷新浏览器,效果如下:

Spring Bootフレームワークのナレッジポイントを詳しく解説

3. マルチ環境属性の構成

3.1 本番および開発のさまざまなシナリオ

それは違うかもしれませんが、開発に書かれている属性値はありますか?本番環境では環境を一つ一つ変更する必要があるのでしょうか?ここまで言ってきましたが、もちろんその必要はありません。開発中に 2 つの環境で属性値の要件が異なる 2 セットの yml ファイルを作成し、必要な yml ファイルを呼び出すことができます。 L 本番環境の GIRL の属性値は次のとおりです:

Spring Bootフレームワークのナレッジポイントを詳しく解説

開発環境の GIRL の属性値は次のとおりです:

Spring Bootフレームワークのナレッジポイントを詳しく解説

application.yml で別のファイルを呼び出すだけです。開発環境と本番環境の異なる yml ファイルの名前 (

上記 2 つの画像ファイルの名前に注意してください)

Spring Bootフレームワークのナレッジポイントを詳しく解説

ブラウザに対応した結果

Spring Bootフレームワークのナレッジポイントを詳しく解説

2番目の環境に対応した構成

Spring Bootフレームワークのナレッジポイントを詳しく解説

ブラウザに対応した結果

Spring Bootフレームワークのナレッジポイントを詳しく解説

理解を助けるために、これまでのプロジェクトのディレクトリ構造の図を追加します

Spring Bootフレームワークのナレッジポイントを詳しく解説

以上がSpring Bootフレームワークのナレッジポイントを詳しく解説の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み] Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み] Feb 19, 2024 pm 12:30 PM

Mac コンピュータで BootCampAssistant を使用しているときに「Windows ISO ファイルが大きすぎます」というエラー メッセージが表示される場合は、ISO ファイルのサイズが BootCampAssistant でサポートされている制限を超えていることが原因である可能性があります。この問題の解決策は、他のツールを使用して ISO ファイルのサイズを圧縮し、BootCamp アシスタントで処理できるようにすることです。 BootCampAssistant は、Mac コンピュータに Windows オペレーティング システムをインストールして実行するために Apple が提供する便利なツールです。ユーザーがデュアルブート システムをセットアップするのに役立ち、起動時に MacOS と Wind のどちらを使用するかを簡単に選択できるようになります。

Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Feb 01, 2024 pm 09:18 PM

2023年、AI技術が注目を集め、プログラミング分野を中心にさまざまな業界に大きな影響を与えています。 AI テクノロジーの重要性に対する人々の認識はますます高まっており、Spring コミュニティも例外ではありません。 GenAI (汎用人工知能) テクノロジーの継続的な進歩に伴い、AI 機能を備えたアプリケーションの作成を簡素化することが重要かつ緊急になっています。このような背景から、AI 機能アプリケーションの開発プロセスを簡素化し、シンプルかつ直観的にし、不必要な複雑さを回避することを目的とした「SpringAI」が登場しました。 「SpringAI」により、開発者はAI機能を搭載したアプリケーションをより簡単に構築でき、使いやすく、操作しやすくなります。

Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Apr 28, 2024 am 11:46 AM

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

Springプログラマティックトランザクションの実装方法は何ですか? Springプログラマティックトランザクションの実装方法は何ですか? Jan 08, 2024 am 10:23 AM

Spring プログラムによるトランザクションを実装する方法: 1. TransactionTemplate を使用する; 2. TransactionCallback および TransactionCallbackWithoutResult を使用する; 3. Transactional アノテーションを使用する; 4. TransactionTemplate を @Transactional と組み合わせて使用​​する; 5. トランザクション マネージャーをカスタマイズする。

Spring Boot と Spring Cloud の違いと関係 Spring Boot と Spring Cloud の違いと関係 Jun 22, 2023 pm 06:25 PM

SpringBoot と SpringCloud は両方とも、開発者がマイクロサービス アプリケーションをより迅速に構築およびデプロイできるようにする Spring Framework の拡張機能ですが、それぞれ異なる目的と機能を持っています。 SpringBoot は、Java アプリケーションを迅速に構築するためのフレームワークであり、開発者は Spring ベースのアプリケーションをより迅速に作成してデプロイできるようになります。スタンドアロンの実行可能な Spring アプリケーションを構築するための、シンプルでわかりやすい方法を提供します。

Spring でトランザクション分離レベルを設定する方法 Spring でトランザクション分離レベルを設定する方法 Jan 26, 2024 pm 05:38 PM

Spring でトランザクション分離レベルを設定する方法: 1. @Transactional アノテーションを使用します; 2. Spring 構成ファイルに設定します; 3. PlatformTransactionManager を使用します; 4. Java 構成クラスに設定します。詳細な導入方法: 1. @Transactional アノテーションを使用し、トランザクション管理が必要なクラスまたはメソッドに @Transactional アノテーションを追加し、属性に分離レベルを設定します。 2. Spring の設定ファイルなどで

史上最も強力な組織 Spring で最もよく使用される 7 つのアノテーション! 史上最も強力な組織 Spring で最もよく使用される 7 つのアノテーション! Jul 26, 2023 pm 04:38 PM

テクノロジーの更新と反復により、Java5.0 はアノテーションをサポートし始めました。 Java の主要なフレームワークである Spring は、バージョン 2.5 に更新されて以来、徐々に XML 構成を放棄し始めており、Spring フレームワークを制御するために使用されるアノテーションが増えています。

Spring Cloud をゼロから学ぶ Spring Cloud をゼロから学ぶ Jun 22, 2023 am 08:11 AM

Java 開発者として、Spring フレームワークを学習して使用することは必須のスキルです。クラウド コンピューティングとマイクロサービスの人気に伴い、Spring Cloud の学習と使用も習得しなければならないスキルになりました。 SpringCloud は、分散システムを迅速に構築するための SpringBoot に基づく開発ツールセットです。サービスの登録と検出、構成センター、負荷分散、サーキット ブレーカーなどの一連のコンポーネントを開発者に提供し、開発者がマイクロ サービスを構築できるようにします。

See all articles