Spring AnnotationConfigApplicationContext

2022-06-13 10:16:26

说明

使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷。
在这里插入图片描述

package com.myapp.config;import com.myapp.Entitlement;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@ConfigurationpublicclassAppConfig{@Bean(name="entitlement")public Entitlemententitlement(){
        Entitlement ent=newEntitlement();
        ent.setName("Entitlement");
        ent.setTime(1);return ent;}@Bean(name="entitlement2")public Entitlemententitlement2(){
        Entitlement ent=newEntitlement();
        ent.setName("Entitlement2");
        ent.setTime(2);return ent;}}
package com.myapp;publicclassEntitlement{private String name;privateint time;public StringgetName(){return name;}publicvoidsetName(String name){this.name= name;}publicintgetTime(){return time;}publicvoidsetTime(int time){this.time= time;}}
package com.myapp;import com.myapp.config.AppConfig;import org.springframework.context.annotation.AnnotationConfigApplicationContext;publicclassJavaConfigTest{publicstaticvoidmain(String[] arg){
        AnnotationConfigApplicationContext ctx=newAnnotationConfigApplicationContext();
        ctx.register(AppConfig.class);
        ctx.refresh();

        Entitlement ent=(Entitlement)ctx.getBean("entitlement");
        System.out.println(ent.getName());
        System.out.println(ent.getTime());

        Entitlement ent2=(Entitlement)ctx.getBean("entitlement2");
        System.out.println(ent2.getName());
        System.out.println(ent2.getTime());

        ctx.close();}}

输出结果:
Entitlement
1
Entitlement2
2

  • 作者:BoBPage
  • 原文链接:https://blog.csdn.net/BitoLink/article/details/114010851
    更新时间:2022-06-13 10:16:26