spring注解开发AnnotationConfigApplicationContext的使用
2023-06-13 09:15:57 时间
使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷。
pom引入依赖:
org.springframeworkspring-context5.1.7.RELEASE
AppConfig.java
package com.kaigejava.config;
import com.kaigejava.Entitlement;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public 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.kaigejava;
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.kaigejava;
import com.kaigejava.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();
}
}
相关文章
- Spring学习笔记(十九)——springboot Web开发和模板引擎thymeleaf语法使用
- 简单介绍一下spring bean的生命周期_Spring bean的生命周期
- Spring cloud多模块开发下Feign的使用,以及@FeignClient注入bean找不到异常解决「建议收藏」
- Java笔记二十四——Spring开发
- batch spring 重复执行_Spring Batch批处理
- 【Spring Cloud Alibaba】(五)Dubbo启动报错?一直重连报错?你值得学习的是排查问题的方法
- 微服务开发平台 Spring Cloud Blade 部署实践
- Spring循环依赖-spring源码详解(四)
- Spring - 事件监听机制 源码解析
- Spring常见面试题
- Spring Cloud Gateway解决跨域问题
- Spring Boot整合Redis
- 分布式系统开发实战:基于Spring Security实现安全认证
- Spring Boot 配置文件的加载优先级
- spring中bean的配置详解架构师
- Spring Data MongoDB 模糊查询详解大数据
- spring的AOP(五)—-Spring AOP 编程(AspectJ )详解编程语言
- Spring Boot2.0之web开发详解编程语言
- Spring Boot(五):spring data jpa的使用详解编程语言
- Spring Boot(二):web综合开发详解编程语言
- Spring使用AspectJ开发AOP:基于XML和基于Annotation
- Spring MVC使用SimpleMappingExceptionResolver类异常处理
- Spring saveOrUpdateAll方法:保存或更新实体对象集合
- spring使用Spring整合Redis和Jedis构建高性能应用(redisjedis与)
- Spring框架致力于搭建基于MSSQL的稳健开发体系(spring mssql)