博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring注解开发AnnotationConfigApplicationContext的使用
阅读量:4337 次
发布时间:2019-06-07

本文共 3810 字,大约阅读时间需要 12 分钟。

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

示例

 

AppConfig.java

package com.myapp.config;import com.myapp.Entitlement;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class AppConfig {    @Bean(name="entitlement")    public Entitlement entitlement() {        Entitlement ent= new Entitlement();        ent.setName("Entitlement");        ent.setTime(1);        return ent;    }    @Bean(name="entitlement2")    public Entitlement entitlement2() {        Entitlement ent= new Entitlement();        ent.setName("Entitlement2");        ent.setTime(2);        return ent;    }}

@Configuration可理解为用spring的时候xml里面的<beans>标签

@Bean可理解为用spring的时候xml里面的<bean>标签

Entitlement.java

package com.myapp;public class Entitlement {    private String name;    private int time;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getTime() {        return time;    }    public void setTime(int time) {        this.time = time;    }}

测试

JavaConfigTest.java

package com.myapp;import com.myapp.config.AppConfig;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class JavaConfigTest {    public static void main(String[] arg) {        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();        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();    }}

结果

Entitlement1Entitlement22
使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷。

示例

 

AppConfig.java

package com.myapp.config;import com.myapp.Entitlement;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class AppConfig {    @Bean(name="entitlement")    public Entitlement entitlement() {        Entitlement ent= new Entitlement();        ent.setName("Entitlement");        ent.setTime(1);        return ent;    }    @Bean(name="entitlement2")    public Entitlement entitlement2() {        Entitlement ent= new Entitlement();        ent.setName("Entitlement2");        ent.setTime(2);        return ent;    }}

@Configuration可理解为用spring的时候xml里面的<beans>标签

@Bean可理解为用spring的时候xml里面的<bean>标签

Entitlement.java

package com.myapp;public class Entitlement {    private String name;    private int time;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getTime() {        return time;    }    public void setTime(int time) {        this.time = time;    }}

测试

JavaConfigTest.java

package com.myapp;import com.myapp.config.AppConfig;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class JavaConfigTest {    public static void main(String[] arg) {        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();        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();    }}

结果

Entitlement1Entitlement22

转载于:https://www.cnblogs.com/ustc-anmin/p/10193321.html

你可能感兴趣的文章
angularjs轮播
查看>>
java(jdk1.7) IO系列02之ByteArrayInputStream和ByteArrayOutputStream解析
查看>>
eclipse -->project-->clean作用
查看>>
Hadoop2.3+Hive0.12集群部署
查看>>
CUICatalog: Invalid asset name supplied:
查看>>
爆笑ip课
查看>>
责任链模式Scala的7种实现
查看>>
Vue系列之 => 路由匹配
查看>>
Web前端-Vue.js必备框架(三)
查看>>
IOS开发---菜鸟学习之路--(四)-登陆界面
查看>>
DLL中导出ANSI和UNICODE函数
查看>>
B-树
查看>>
小细节--Extjs中,renderTo 和applyTo的区别
查看>>
linux echo命令的-n、-e两个参数
查看>>
洛谷P3808 【模板】AC自动机(简单版)
查看>>
IPv4与IPv6的区别是什么?
查看>>
HDU 1242 Rescue BFS+优先队列
查看>>
主席树 静态区间第k大
查看>>
linux下查找文件和文件内容
查看>>
Flask-SQLAlchemy
查看>>