この記事では、注釈を使用してスプリングコンテナを構成する方法を紹介します。私はあなたとそれを共有します。詳細は次のとおりです。
クラスに注釈付けされた@Configurationは、クラスをSpringのXMLのタグとして使用するのと同等です
@configurationPublic Class SpringConfiguration {public SpringConfiguration(){System.out.println( "Spring Container"); }}テストの主な関数
public class main {public static void main(string [] args){applicationContext Context = new AnnotationConfigApplicationContext(SpringConfiguration.class); }}AnnotationAnnotationConfigApplicationContextを使用してApplicationContextをロードします
操作結果は次のとおりです
情報:更新org.springframework.context.annotation.annotationconfigapplicationcontext@2e5d6d97:起動日[SAT 09 11:29:51 CST 2017];コンテキスト階層のルート
スプリングコンテナを初期化します
@Beanを使用して、コンテナにBeanインスタンスを追加します
パブリッククラスユーザー{private string username;プライベートインクエイジ; public user(string username、int age){this.username = username; this.age = age; } public void init(){system.out.println( "initialize user ..."); } public void saks(){system.out.println(string.format( "こんにちは、私の名前は%s、私は%d歳です」、ユーザー名、年齢)); } public void destory(){system.out.println( "Destroy user ..."); }} @configurationPublic Class SpringConfiguration {public SpringConfiguration(){System.out.println( "Spring Container"); } // @bean annotation to register bean、同時に、初期化と破壊の方法を策定@bean(name = "user"、initmethod = "init")@scope( "prototype")public user getuser(){return new user( "tom"、20); }} @Bean Annotationは、インスタンスを返す方法に関するものです。 Bean名が指定されていない場合、デフォルトは注釈付きの名前のメソッド名と同じです。
@Bean Annotationデフォルトスコープは、SingletonのSingleton Scopeです
@componentscanを使用して、自動scanning@service、@ritry、@controller、@component annotationを追加します
@componentpublic class cat {public cat(){} public void sain(){system.out.println( "i a cat"); }} @configuration@componentscan(basepackages = "com.spring.annotation.ioc")public class springconfiguration {public springconfiguration(){system.out.println( "initialize spring container"); } // @bean annotation to register bean、同時に、初期化と破壊の方法を策定@bean(name = "user"、initmethod = "init")@scope( "prototype")public user getuser(){return new user( "tom"、20); }}ベースパッケージを使用してパッケージをスキャンしてパスを構成します
操作結果は次のとおりです
初期化スプリングコンテナ初期化ユーザー...こんにちは、私の名前はトムです、私は20歳です私は猫です
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。