過去には、Java Frameworksは基本的にXMLを構成ファイルとして使用していましたが、Java FrameworksはXML構成ファイルの代わりに注釈に基づいて「Zero Configuration」もサポートしています。 Struts2、Hibernate、およびSpringはすべて、XML構成ファイルの代わりに注釈を使用し始めています。 Spring3.xは、XMLベースの構成、注釈ベースの構成、Javaベースの構成の3つのオプションを提供します。
以下は、3つの構成方法です。たとえば、Javabeanを最初に定義します。
パッケージcom.chinalife.dao public class loginuserdao {... //初期化方法の設定に使用されるpublic void myinit(){} //破壊方法の設定に使用されるpublic void mydestroy(){}}}}1。XMLベースの構成
<bean id = "loginuserdao" class = "com.chinalife.dao.impl.loginuserdaoimpl" lazy-init = "true" init-method = "myinit" destroy-method = "mydestroy" scope = "prototype"> ... </bean>
XML構成では、Beanは<Bean> </Bean>で定義され、Beanの名前はIDまたは名前属性を介して定義されます。 IDと名前の属性が指定されていない場合、Springは完全に適格なクラス名をBeanの名前として自動的に使用します。 <プロパティ>子要素またはPネームスペースの動的属性を介して豆に値を注入します。また、ライフプロセス方法を設定するために、<bean>のinit-methodおよびDestory-methodプロパティを介してBean実装クラスのメソッド名を指定することもできます(最大1つの初期化方法と破壊方法を指定します)。 <bean>の範囲を介して豆の範囲を指定します。 <bean>の怠zyinit属性について聞いたことがあります。初期化を遅らせるかどうかを指定しています。
Beanの実装クラスが、DataSource、HibernateTemplateなどのサードパーティクラスライブラリから来る場合、クラス内の情報を注釈することはできず、XMLでのみ構成できます。また、AOP、コンテキストなどの名前空間の構成は、XMLベースの構成のみを使用できます。
2。注釈ベースの構成
@scope( "prototype")@lazy(true)@component( "loginuserdao")public class loginuserdao {... //初期化方法を設定するために使用される@postconstruct public void myinit(){} //破壊方法@predestroy public void mydestroy(){}}}}Beanの実装クラスでは、いくつかの注釈を使用してBeanクラスの注釈を付けます。
@@component:通常のスプリングビーンクラスを注釈します(Bean名を指定でき、デフォルトは指定されていない場合は小文字から始まるクラス名です)
@@Controller:コントローラークラスに注釈を付けます
@@Service:ビジネスロジッククラスに注釈を付けます
@@Repository:DAOクラスに注釈を付けます
メンバー変数またはメソッドパラメーターでのタイプマッチングインジェクションによって@Autowiredにラベルを付けることにより、 @qualifierを使用して名前で注入を構成することもできます。 @PostConstrutとPredestroy Annotation(多くの人が定義できる)に注釈によって指定された初期化方法と破壊方法。 @scope( "Prototype")を介してBeanのアクションの範囲を指定します。クラス定義で@lazy(true)にラベルを付けることにより、豆の怠zyな負荷を指定します。
Beanの実装クラスが現在のプロジェクトによって開発された場合、Javaクラスで注釈ベースの構成を直接使用でき、構成は比較的簡単です。
3。Javaベースの構成
@configuration public class conf {@scope( "prototype")@bean( "loginuserdao")public loginuserdao loginuserdao(){return new loginuserdao(); }}@ConfigurationとマークされたJavaクラスでは、クラスメソッドで@Beanに注釈を付けてBeanを定義します。方法は、豆にインスタンス化ロジックを提供する必要があります。 Beanの名前は、@Bean Name属性を介して定義できます。デフォルト名は、指定されていない場合のメソッド名です。メソッドでは、 @autowiredを使用してメソッドをパラメーターにバインドし、メソッドのコードを介して注入します。注入のために、構成クラスの@Beanメソッドを呼び出すこともできます。 @beanのinitmethodまたはdestroymethodを介して初期化または破壊方法を指定します。 Beanの作用範囲は、Beanメソッド定義によって指定されています。 Beanメソッド定義で@lazyにラベルを付けることにより、Beanの遅延初期化を指定します。
豆のインスタンス化の論理がより複雑になる場合、Javaクラスの構成により適しています。
要約します
上記は、この記事のすべてのコンテンツです。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!