ホームページ Java &#&チュートリアル Java構成のdefault-lazy-init='true'構成について簡単に説明します。

Java構成のdefault-lazy-init='true'構成について簡単に説明します。

May 09, 2017 pm 01:31 PM
default lazy spring

以下のエディタでは、春のdefault-lazy-initパラメータとlazy-initについて簡単に説明します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターに従って、Spring 設定のルート ノードにdefault-lazy-init="true" 設定があります:

1 このパラメータ。遅延読み込みを表します。つまり、プロジェクトの開始時に必要でない限り、アノテーション付き Bean はプロジェクトの開始時にインスタンス化されません。インスタンス化されていないアノテーション オブジェクト は、プログラムが実際にアクセスするときにのみ呼び出しに挿入されます。 call

spring 起動時、default-lazy-init パラメータはデフォルトで false に設定され、初期化 ACTION 設定からサービス設定、dao 設定、さらにはデータベース接続に至るまで、オブジェクト インスタンス グラフ全体がデフォルトでロードされます。 、取引など。これにより、実行時の Web サーバーの負荷を軽減できますが、開発者にとっては非常に非効率な設定であることは間違いありません。

spring は、default-lazy-init 属性を提供します。その構成フォームは、applicationContext.xml で次のとおりです:

< beans default-lazy-init ="true" >
  ....... 
</beans>
ログイン後にコピー
実際の開発では、default-lazy-init 属性を true に設定できます。これにより、プロジェクトの起動時間が大幅に短縮されます2. Spring の Lazy-init 属性と Abstract 属性

1. Lazy-init

<beans> 
   <bean id="service1" type="bean路径" lazy-init="true"/> 
   <bean id="service2" type="bean路径" lazy-init="false"> 
       <property name="service1" ref="service1"/> 
   </bean> 
</beans>
ログイン後にコピー
上記の 2 つの Bean の 1 つは、lazy-init 属性です。 true ともう 1 つは false の違いは何でしょうか? そうですね

IoC コンテナーが開始すると、service2 はインスタンス化されますが、service1 はインスタンス化されません。なぜなら、service2 がそれを必要とするからです。つまり、lazy-init="true" の Bean は、IoC コンテナの起動時にインスタンス化されず、コンテナが使用する必要がある場合にのみインスタンス化されます。 Lazy-init はコンテナの効率に有益であり、不要な Bean を無視できます。

同時に、特定のモジュールの対応する Bean で、lazy-init 属性を使用できます。lazy-init は、default-lazy-init よりも高い優先順位を持ちます。

spring アノテーションは、 @Lazy(false) アノテーション タグを使用してクラス名にアノテーションを付けることができます。これは、Bean


2 の抽象

<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> 
</bean>
ログイン後にコピー

bean abstract="true で Lazy-init 属性を設定するのと同等です。これは、Bean はインスタンス化されません


これは、開発プロセス中の起動時間を節約するためだけです。実際の環境にデプロイする場合、default-lazy-init を true に設定する必要はありません。結局のところ、実際の環境にデプロイするのは一般的なことではなく、毎回 1 分間起動することは大きな問題ではなく、サーバーの効率を向上させることができます。

もちろん、すべての Bean が default-lazy-init を true に設定できるわけではありません

【関連する推奨事項】


1.

Java 無料ビデオ チュートリアル

2. Java ビデオ チュートリアル

3.

JAVA チュートリアル マニュアル

以上がJava構成のdefault-lazy-init='true'構成について簡単に説明します。の詳細内容です。詳細については、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)

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 に基づく開発ツールセットです。サービスの登録と検出、構成センター、負荷分散、サーキット ブレーカーなどの一連のコンポーネントを開発者に提供し、開発者がマイクロ サービスを構築できるようにします。

Spring アノテーションの公開: 一般的なアノテーションの分析 Spring アノテーションの公開: 一般的なアノテーションの分析 Dec 30, 2023 am 11:28 AM

Spring は、Java 開発を簡素化し、強化するための多くのアノテーションを提供するオープンソース フレームワークです。この記事では、一般的に使用される Spring アノテーションについて詳しく説明し、具体的なコード例を示します。 @Autowired: Autowired @Autowired アノテーションを使用して、Spring コンテナーに Bean を自動的に接続できます。依存関係が必要な場合に @Autowired アノテーションを使用すると、Spring はコンテナー内で一致する Bean を見つけて自動的に注入します。サンプルコードは次のとおりです。

See all articles