豆の注釈(アノテーション)の設定(1) - アノテーションによってBeanのロード


チュートリアルの春シリーズ


ビーンはまた、Javaアノテーションによって構成することができます。

直接ビーンJavaクラスに追加Javaアノテーションは、アセンブリが必要です。

注釈は、クラス、メソッド、または特殊なタグフィールドの宣言です。例えば、一般的です@Overrideノートは、オーバーライドされるメソッドであるコンパイラを伝えることであること。

注釈XML設定構成比較

ノートの構成は、多くのビーンがある場合は特に、多くのものを保存することができ、XML構成よりもコンパクトです。

XMLインジェクションは、注釈の設定をカバーする注釈、XML構成の注射の後に実行されます。

1.コンフィギュレーションノートを有効にします

デフォルトでは、春の注釈の設定コンテナが有効になっていません。コンポーネントは、BeanのXML設定ファイル内のスキャン機能を開き、注釈の設定を有効にする必要があります。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    
    <!-- 打开组件扫描,启用注解配置 -->
    <context:component-scan base-package="com.qikegu.demo"></context:component-scan>
    
    <!-- ... -->

</beans>

base-package="com.qikegu.demo"パッケージをスキャンするパスを指定します。

追加する2.ビーンのJavaクラス@Componentのアノテーションを

春は包装容器の走査経路内のすべてのクラスを指定し、検索するたびに@Component、注釈が、それは豆を登録して、ビーンIDを設定します。

デフォルトビーンIDは、クラスの名前が、最初の文字を小文字です。もしクラス名は大文字で、いくつかの連続したスタートに、最初の文字は小文字ではありません。(IE QIKEGUService - > QIKEGUService)


package com.qikegu.demo;

import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Lazy;

@Component
@Lazy
public class App {
}

3. Beanコンテナの春の取得

そして、XMLの構成が使用するのと同様であるgetBean()方法Beanインスタンスを返します。

例:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
    
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        
        // 获取Bean实例
        App app = context.getBean("app", App.class);
        // App app = (App) context.getBean("app");
    }
}

おすすめ

転載: www.cnblogs.com/jinbuqi/p/10977622.html