@Configuration

简介: @Configuration

被 @Configuration 标注的类,会被 Spring 的IOC容器认定为配置类。
一个被 @Configuration 标注的类,相当于一个 applicationContext.xml 的配置文件。

例如:声明一个类,并标注 @Configuration 注解:
@Configuration
public class ConfigurationDemo {
@Bean
public Date currentDate() {
return new Date();
}
}

上述注册Bean的方式类比于xml:

之后使用注解启动方式,初始化一个IOC容器,并打印IOC容器中的所有bean的name:

public class MainApp {
public static void main(String[] args) throws Exception {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(ConfigurationDemo.class);
String[] beanDefinitionNames = ctx.getBeanDefinitionNames();
Stream.of(beanDefinitionNames).forEach(System.out::println);
}
}

输出结果:
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
configurationDemo
currentDate

可以发现组件,以及配置类本身被成功加载。

相关文章
|
3月前
|
Java Maven Spring
Creating Your Own Auto-configuration
SpringBoot的自动配置和其工作原理,自定义Starter
51 1
|
8月前
|
Java 数据库连接 数据库
@Configuration大悟!
@Configuration大悟!
|
XML Java 数据格式
@Configuration
@Configuration
|
Java 数据库连接
org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration
Error creating bean with name 'entityManagerFactory' defined in file [E:\eclipseworkspace\wms_ims\.metadata\.plugins\org.eclipse.wst.server.core\tmp9\wtpwebapps\shopping\WEB-INF\classes\applicationContext-configuration.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMetho
110 0
|
XML 存储 SQL
Configuration和Mapper|学习笔记
快速学习Configuration和Mapper
184 0
Configuration和Mapper|学习笔记
|
Java Spring 容器
@Configuration注解
@Configuration注解
173 0
|
Python Windows Web App开发
VS Code Plugins And Configuration
VS Code插件 vscode-icons: 显示文件类型的图标 project manager: 管理项目, 项目的保存加载与切换 beautify: 控制缩进 code runner: 执行代码 debugger for chrome eslint: 代码规范检测 include autocomplete: 头文件自动补全, json配置文件为c_cpp_properties.
1152 0
|
Java Spring 数据格式
@Configuration和@Bean
@Configuration可理解为用spring的时候xml里面的 @Bean可理解为用spring的时候xml里面的 Spring Boot不是spring的加强版,所以@Configuration和@Bean同样可以用在普通的spring项目中,而不是Spring Boot特有的,只是在spr...
1354 0