最新要闻
- 痛别!百岁抗日英雄张友仁逝世
- 环球热文:比亚迪老对手发威!哈弗枭龙系列上市定档:四驱体验两驱价格
- 5月上映!迪士尼《小美人鱼》世界首映礼:黑小美人鱼主演亮相
- 小米稳居中国电视市场第一 国外品牌份额合计不到5%_今日讯
- 付费会员该在截止日当天几点过期?法院判了
- 三星、谷歌联手优化:Android 14要彻底告别杀后台了
- 当前资讯!北斗西虹桥基地:积极打造具有全球影响力的产业集聚高地
- “五一”假期后机票价格大幅回落 端午出游开始发力 环球热资讯
- 【世界独家】入口软糯爽滑 冻颜密码燕窝椰汁3.1元清仓
- 天天简讯:五一成绩单出炉!河南成为最大赢家
- 《巨齿鲨2》新海报出炉:吴京、斯坦森直面深海巨鲨 超霸气
- 上海展会外国人插队领冰淇淋被拒 网友:宝马MINI脸红吗
- 全球最资讯丨电动“吉姆尼”背个“大手表”!五菱宝骏悦也5月25日上市
- 烤乳猪是哪个菜系的?烤乳猪的做法与配料是什么?
- 巴西的世界之最是什么?巴西说什么语言?
- 中国第四大城市是哪个城市?中国城市GDP排名
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
SpringBoot的@Configuration注解
本文主要讲述SpringBoot的@Configuration注解。
一.POJO类的声明
例如有两个pojo类,分别是User和Pet
User类的声明如下:
(相关资料图)
public class User { private String name; private Integer age; public User(){ } public User(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User{" + "name="" + name + "\"" + ", age=" + age + "}"; }}
Pet类的声明如下:
public class Pet { private String name; private String clasz; public Pet() { } public Pet(String name, String clasz) { this.name = name; this.clasz = clasz; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getClasz() { return clasz; } public void setClasz(String clasz) { this.clasz = clasz; } @Override public String toString() { return "Pet{" + "name="" + name + "\"" + ", clasz="" + clasz + "\"" + "}"; }}
二.在Spring的xml中配置组件
1.pojo无依赖关系,bean.xml的声明如下:
2.pojo有依赖关系,user类依赖pet类
User类声明如下:
public class User { private String name; private Integer age; private Pet pet; public User(){ } public User(String name, Integer age) { this.name = name; this.age = age; } public Pet getPet() { return pet; } public void setPet(Pet pet) { this.pet = pet; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User{" + "name="" + name + "\"" + ", age=" + age + ", pet=" + pet + "}"; }}
bean.xml的声明如下:
三.SpringBoot的@Configuration配置组件
@Configuration注解作用在类上,声明该类是配置组件类;
@Bean注解作用在配置组件类的方法上,声明该方法是ioc容器的组件。
POJOConfig组件配置类声明如下:
/** * @Configuration 标识配置组件的类 * @Bean 标识配置对象的方法 */@Configurationpublic class POJOConfig { @Bean public User user01(){ return new User("张三",19); } @Bean public User user02(){ return new User("张三",19); } @Bean public Pet pet01(){ return new Pet("tom","cat"); }}
在MainApp启动类中验证注册的组件是否唯一。
@SpringBootApplicationpublic class MainApp { public static void main(String[] args) { // 1.获取ioc容器【应用程序的上下文】 ConfigurableApplicationContext run = SpringApplication.run(MainApp.class, args); // 2.获取上下文所有的bean的name String[] names = run.getBeanDefinitionNames(); for (String name : names) { System.out.println(name); } // 3.获取指定类型的bean的对象 // 只注册了一个User类的对象,ioc容器获取的也只有一个对象 // 注册了同一个类的多个对象 User user01 = run.getBean("user01", User.class); User user02 = run.getBean("user01", User.class); System.out.println(user01 == user02); // true // 4.获取配置组件类的对象 POJOConfig bean = run.getBean(POJOConfig.class); System.out.println(bean); User user1 = bean.user01(); User user2 = bean.user01(); System.out.println(user1 == user2); }}
证明user01和user02对象,都是从ioc容器中取出的 id=user01的对象。
@Configuration中有一个参数proxyBeanMethod,默认为 true,
这个注解主要有以下两个作用:
声明一个类为 Spring 配置类。
@Configuration
注解告诉 Spring 这是一个配置类,需要在应用程序上下文中注册 bean。通常情况下,配置类中包含了多个@Bean
方法,这些方法都会返回一个对象,供其他 bean 使用。控制 Spring 是否会为
@Bean
方法创建代理对象。当proxyBeanMethods
设置为 true 时,Spring 会为每个@Bean
方法创建一个代理对象,这个代理对象会缓存方法的调用结果,从而提高应用程序的性能。当proxyBeanMethods
设置为 false 时,Spring 不会为@Bean
方法创建代理对象,而是每次调用@Bean
方法时都会创建一个新的对象。
需要注意的是,如果使用了 @Configuration(proxyBeanMethods = true)
,那么 @Bean
方法必须是非 final 的,因为 Spring 使用 CGLIB 生成子类来实现代理。如果 @Bean
方法是 final 的,那么就无法生成子类,从而导致代理失败。因此,如果你的 @Bean
方法必须是 final 的,就需要将 proxyBeanMethods
设置为 false。
关键词:
-
SpringBoot的@Configuration注解
本文主要讲述SpringBoot的@Configuration注解。一 POJO类的声明例如有两个pojo类,分别是User和PetUser类的
来源: -
安装nginx--银河麒麟V10Kylin Linux
原文链接:https: blog csdn net qq_30665009 article details 1260217961、安装nginx之前,在内网环境下
来源: SpringBoot的@Configuration注解
安装nginx--银河麒麟V10Kylin Linux
C#自定义异常就这么简单
网关神器traefik的,etcd和https配置例子
一行代码搞定 font-size 响应式
痛别!百岁抗日英雄张友仁逝世
环球热文:比亚迪老对手发威!哈弗枭龙系列上市定档:四驱体验两驱价格
5月上映!迪士尼《小美人鱼》世界首映礼:黑小美人鱼主演亮相
小米稳居中国电视市场第一 国外品牌份额合计不到5%_今日讯
付费会员该在截止日当天几点过期?法院判了
三星、谷歌联手优化:Android 14要彻底告别杀后台了
当前资讯!北斗西虹桥基地:积极打造具有全球影响力的产业集聚高地
快看:品类超全的免费 API 大全整理
五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
开源.NetCore通用工具库Xmtool使用连载 - 散列算法篇|世界视点
Centos7安装MySQL详细步骤(配置开机自启)|天天关注
“五一”假期后机票价格大幅回落 端午出游开始发力 环球热资讯
诺基亚账户怎么注册?诺基亚账户忘记了怎么找回?
【世界独家】入口软糯爽滑 冻颜密码燕窝椰汁3.1元清仓
天天简讯:五一成绩单出炉!河南成为最大赢家
《巨齿鲨2》新海报出炉:吴京、斯坦森直面深海巨鲨 超霸气
上海展会外国人插队领冰淇淋被拒 网友:宝马MINI脸红吗
全球最资讯丨电动“吉姆尼”背个“大手表”!五菱宝骏悦也5月25日上市
怎么将MP4格式转换成RM格式?rm格式用什么播放器打开?
3dmark11怎么看通过率?3dmark11注册码有哪些?
华为p30上市时间和价格是什么?华为p30怎么升级鸿蒙系统3.0?
联想Thinkpad x200什么时候上市的?联想Thinkpad x200电脑参数
烤乳猪是哪个菜系的?烤乳猪的做法与配料是什么?
巴西的世界之最是什么?巴西说什么语言?
中国第四大城市是哪个城市?中国城市GDP排名
和颜悦色的意思是什么?和颜悦色二年级造句
润邦股份:公司一直在积极跟进漂浮式海上风电领域的相关信息
热得快的功率一般是多大?热得快的工作原理是什么?
二季度19省市地方债计划发行规模超1.3万亿元 专家表示今年地方债早发快发特征明显
《漫长的季节》爆火:好观众才配看好剧! 全球速讯
老牌压缩软件7-Zip时隔近一年更新:仅1.5MB
环球热资讯!取代老头乐 新能源车下乡势不可挡 大家对其误解基本消除
疑似红色队服惹祸?公牛闯入橄榄球赛场追逐球员拖行训练员
新动态:好吃饱腹快冲:广州酒家组合粽子9.9元4个 多口味可选
新和成:饲料生产有严格配方比例要求
环球头条:Grafana 系列-统一展示-4-AWS Cloudwatch 数据源
环球最资讯丨Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
世界热讯:method怎么读音_method怎么读
899元 小米高端路由器7000开售:全2.5G网口、自研三频拓展
首款天玑9200+旗舰稳了!iQOO Neo 8 Pro现身谷歌支持列表|全球快讯
薄如原子的人工神经元面世:可处理光电信号 天天观速讯
奔驰提车当天出故障 要拆变速箱!博主:建议车主坐车头直播
印度一双层轮船因超载发生倾覆事故 现场视频曝光
强弱开始模糊中超竞争更加激烈-天天热文
挑战“三大框架”的解决方案 全球速递
@Accessors 注解参数-全球报道
环球热资讯!炭火炉子烤肉好吃还是电炉子烤的好吃?
GPS侧目!北斗“女神”徐颖:我们追求毫米级甚至更小的精度_观天下
当前信息:金价又“狂飙”!全球第二大金矿商CEO透露:还押注了另一金属
环球实时:梦幻联动?马斯克公开赞同李想对于自动驾驶的理念
天津出台强降雨应急处置机制:规范处置程序 明确9项环节
内生提升能力 外源拓宽渠道 险企增资发债两手齐抓 即时
北向互换通将于15日启动 多家外资行积极筹备
【速看料】一季度西安居民人均可支配收入比上年同期实际增长5.4%
iPhone 14令人失望!五星好评率暴降:苹果十年口碑瞬间崩塌
安卓最强5G Soc!联发科天玑9200+明天发:跑分一骑绝尘
天天热消息:学系统集成项目管理工程师(中项)系列19a_成本管理(上)
ob什么意思女生_ob什么意思
新裂缝不断出现 整栋楼可怕!租户砸断承重墙 1.68亿损失业主自认倒霉?
精选!多省加入封杀行列!老头乐销冠雷丁汽车申请破产:市占率曾超30% 涉嫌诈骗
iPhone销售强劲!但iPad、Mac拖后腿了 全球报资讯
第一条高铁还没搞定!“股神”巴菲特吐槽美国火车:还停留在100多年前|环球头条
深入理解 python 虚拟机:描述器实现原理与源码分析
88.函数指针
环球信息:让老人暖胃更暖心
天天即时:两倍性能提升!玩家推测PS5 Pro详细配置
史上第一次 美国要强制规定航空公司取消或者延误时现金赔偿旅客
印度一只老虎杀死花豹 但却不吃肉:原因有二
建议买SD卡!《塞尔达传说:王国之泪》容量达16.3GB
环球消息!拒绝流氓应用 Win11安卓子系统重磅升级 安全自有一套
怀卡托大学学费_怀卡托大学-全球新资讯
茂名西站_关于茂名西站的简介
冬至是国家法定假期吗_冬至是国家法定假日-每日焦点
网络基础 登录对接CAS-跨域导致的一个意想不到的Bug
土豪该有的OLED电竞装备 AOC 2K240Hz显示器6949元(0.01ms响应)
情侣吵架从8楼将萨摩耶扔下 后续来了:男主高空抛物被抓
女子车位被女邻居霸停数月:一怒之下 直接焊死_全球今日讯
全球快资讯丨古力娜扎COS《王者荣耀》貂蝉 美丽动人超越原作
传音控股:数字人系统顺利通过全部48个测试项|天天播报
谈一谈如何使用etcd中的事务以及自己的理解
Ansible快速入门(下)
@RequestParam注解参数-世界热讯
【天天播资讯】《羊了个羊》被通报:涉欺骗误导强迫用户!曾被吐槽广告多
哈尔滨拆承重墙高楼现新裂缝 专家:或能加固到原状态 成本较高
谢谢你们,让我们的延吉之行更有意义|全球速读
87.特殊用途语言特性
20天学会 java
讯息:发挥工业互联网平台立体化赋能作用!山东“数字强省”再加速
马斯克曾发出人口消失警告 日本912万65岁以上老人仍在工作 热推荐
RTX 2080S实机运行《GTA6》画面曝光: 熟悉的味道
天天头条:线下大牌:CariaKnar内衣旗舰店男士6条装内裤39.9元
搭载麒麟710A!华为nova 8 SE官方二手机上架:999元
耗时5个月:中国空间站有了新发现 当前讯息
使用 HTTP/2 加速 Node.js 应用
世界要闻:MockMVC的使用