@Configuration
@Configuration
1.作用:
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext
或者
AnnotationConfigWebApplicationContext
类进行扫描,并用于构建bean定义,初始化Spring容器。
2.注意点
/**
- 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也是单实例的
- 2、配置类本身也是组件
- 3、proxyBeanMethods:代理bean的方法
- Full(proxyBeanMethods = true)(保证每个@Bean方法被调用多少次返回的组件都是单实例的)(默认)
- Lite(proxyBeanMethods = false)(每个@Bean方法被调用多少次返回的组件都是新创建的)
*/
代码片段:
@Configuration(proxyBeanMethods = true)
public class MyConfig {@Beanpublic People people01(){People zs = new People("zs", 18,pet01());return zs;}@Beanpublic Pet pet01(){Pet tomcat = new Pet("tomcat");return tomcat;}}
public static void main(String[] args) {//返回IOC容器ConfigurableApplicationContext run = SpringApplication.run(DemoApplication.class,args);//查看容器的组件String[] names = run.getBeanDefinitionNames();for (String name : names) {System.out.println(name);}People people01 = run.getBean("people01", People.class);System.out.println(people01.toString());Pet pet01 = run.getBean("pet01", Pet.class);System.out.println(pet01.toString());System.out.println(people01.getPet()==pet01);//此处验证的是通过代理是否为单例模式,单例模式建造的对象在堆中是同一个对象}
结果:
@Configuration相关推荐
- Ubuntu20.04安装zabbix以及Cannot create the configuration file解决
添加zabbix的扩展源 echo 'deb http://mirrors.aliyun.com/zabbix/zabbix/5.0/ubuntu/dists/ focal main' >> ...
- 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)
微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动--往往由一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种时钟"能量"扩散流动的路径,犹如大 ...
- SpringBoot复习:2(@Configuration注解)
@Configuration注解 @Configuration注解的作用是代替以前我们使用的xml配置文件,被注解的类就是配置类,其内部包含有一个或多个被@Bean注解的方法,这些方法将会被Annot ...
- 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第六章 深入理解wi-Fi Simple Configuration...
为什么80%的码农都做不了架构师?>>> 首先感谢各位兄弟姐妹们的耐心等待.本书预计在4月上市发售.从今天开始,我将在博客中连载此书的一些内容.注意,此处连载的是未经出版社编辑 ...
- Wireless-N Configuration
Wireless-N Configuration/Zh Cn Contents [hide] 1 关于Wireless N的一般信息 2 基本设置 2.1 20 MHz vs 40 MHz 2.1.1 ...
- 检测到包降级: Microsoft.Extensions.Configuration.Abstractions 从 2.1.1 降 2.1.0
解决方法:工具-nuget管理包-程序管理控制台-选择 项目- 执行 -Install-Package Microsoft.Extensions.Configuration.Abstractions ...
- Could not apply the stored configuration for monitors 解决办法
Could not apply the stored configuration for monitors 解决办法: $ sudo rm -rf ~/.config/monitors.xml 重启电 ...
- xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决
之前是用xcode8.3.3创建的工程最近升级到Xcode9.0 遇见了这个问题 在Xcode 9.0以上 新建xib文件会报错 xx.xib: error: Illegal Configuratio ...
- Enterprise Library Configuration DAAB的使用
1.要试用DAAB,首先要引用两个类库 第一个是Enterprise Library Shared Library 这个类库是所有Enterprist Library都必须引用的类库,它提供所需的结构 ...
- command-line: line 0: Bad configuration option: PermitLocalCommand
废话少说,问题描述与解决 今天在一server上传输文件时,遇到scp error [root@server01 ~]# scp aa.txt root@192.168.0.1:/home/soft ...
最新文章
- NeurIPS 2019揭榜!华人作者贡献42%,谷歌170篇屠榜;国内清华第一,腾讯领衔产业界(附链接)...
- java基础-基本的输入与输出
- HashMap与HashTable联系与区别
- Exchange Online基于网络位置限制使用
- PHP 多维数组搜索 PHP multi dimensional array search
- 深度学习基础 | 超详细逐步图解 Transformer
- kmp算法next计算方法_KMP 算法详解
- 关于MATLAB处理大数据坐标文件
- SQL基础知识总结二
- 【数据结构】——逆波兰表达式
- CUDA的旋转R ROI Align的OPENCL实现1(原理理解)
- linux——20线程池
- 1068 万绿丛中一点红 (20分)测试点分析
- c语言指针藏头,2020中秋节的藏头诗_关于中秋节的藏头诗词
- 基于Faster-RCNN的目标检测(TF版) 步骤与问题解决办法
- 计算机图形学 opengl版本 第三版------胡事民 第三章更多的绘图工具
- 同步电机仿真永磁同步电机 弱磁控制 simulink仿真模型 凸极电机
- React Native三端同构
- 【web项目】任务倒计时网页
- 3dsMax 修改为中文