你真的了解@Configuration注解吗

187 篇文章 10 订阅
订阅专栏

目录

前沿

传统方式

创建实体类

创建配置文件

使用@Configuration方式

@Configuration里的proxyBeanMethods

我们再添加一个实体类Dog如下

修改User类

配置类注入Dog

​编辑 

 修改配置类中User的获取

proxyBeanMethods为true

 proxyBeanMethods为false

小结


前沿

我们使用springboot开发的过程中经常使用的一个注解就是@Configuration,我们称之为配置注解。但是你真的了解它吗?接下来让我们看一下这个注解到底是干啥的。

传统方式

创建实体类

@Data
public class User {
    private String username;
    private Integer age;
    private String phone;
}

创建配置文件

使用@Configuration方式

实体类当然还是需要使用的哦

不过配置文件不用写了,我们可以使用注解来搞定如下

我们可以在启动类中对其进行获取

当然了,你可以先对上述对象的属性赋值,如下

 

 在启动类中测试如下

@Configuration里的proxyBeanMethods

 

这里面proxyBeanMethods的默认值为true,这里的意义是什么呢?

我们再添加一个实体类Dog如下

 

修改User类

配置类注入Dog

 

 修改配置类中User的获取

 

proxyBeanMethods为true

此时proxyBeanMethods默认为true,我们执行如下代码,即为判断user中的dog对象跟注入容器的dog对象是否为同一个

其运行结果为true

 proxyBeanMethods为false

修改其值为false

 

再次执行上述方法看结果,已经为false

小结

当 proxyBeanMethods为true的时候,如果我们要想获取某个对象,那么会先检查容器中是否曾经创建过这个同类型的对象,如果有就从容器中获取。如果 proxyBeanMethods为false的时候,不会检查容器中是否有创建过这种类型的对象,而是直接创建一个。

所以,如果你创建的对象之间存在依赖的话那就保持 proxyBeanMethods的默认值为true就可以,如果你创建的对象之间不存在依赖,为了免去检查容器的时间,你可以手动将 proxyBeanMethods修改为false。

2w字长文给你讲透了配置类为什么要添加 @Configuration注解,是时候应该安排一下了!
weixin_46898270的博客
05-28 1302
Spring 用的爽不爽?在你爽的同时,你也知道为什么这么爽,在 Spring 中,@Configuration 是一个重重重要的注解,那么配置类为什么要添加 @Configuration 注解呢?本篇文章就带你 get 这个点。 不加 @Configuration 导致的问题 我们先来看看如果不在配置类上添加 @Configuration 注解会有什么问题,代码示例如下: 不添加 @Configuration 注解运行结果: create dmzService create A by dmzServi
SpringBoot常用注解 | @Configuration
weixin_64314555的博客
11-25 771
前言 SpringBoot 中简化了大量的配置文件,取而代之的是利用注解完成之前通过配置文件完成的工作。操作上便捷了很多,但是也隐藏了一些内部实现细节,在使用的时候不能盲目,应该了解在以往 Spring 项目中是如何配置的,这样可以加深我们对 SpringBoot 的理解 概述 类上加这个注解就说明这个类是一个配置类 Spring 项目中添加配置类 在传统的 Spring 项目中,我们想要引入一个配置类,通常是定义一个 bean.xml ,然后通过 bean 注解给容器中添加组件...
Configuration注解
qq_28060549的博客
03-16 888
注解需要@ComponentScan扫描才能进行bean注册,否则对应的@Bean不会注册到IOC容器。 @Configuration的源代码如下: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configurati...
@Configuration 注解的理解
weixin_35757191的博客
02-13 258
@Configuration 注解Java 配置类的注解,用于标识该类是一个配置类。在配置类中,可以使用 Java 代码定义 bean,以及定义 bean 之间的依赖关系。这是一种替代 XML 配置文件的方法,在 Spring 框架中实现依赖注入。 通过使用 @Configuration 注解,可以提高配置的可读性,以及简化代码维护和扩展的工作。因此,它是一种非常重要的注解,在开发中经常使用。...
@Configuration注解使用详解【记录】
最新发布
单枪匹码
05-23 2101
@Configuration类在Spring中既充当配置信息的角色,又作为容器中的一个Bean存在,其作用是提供一个灵活且强大的方式来定义和组装Spring Bean,使得Spring的配置更加灵活和方便。
Configuration注解的理解
LuckyCurve的博客
02-27 411
对@Configuration的简单理解 平时也看了很多其他人的博客,感触不深,自己敲个代码会更明白 @Configuration public class Config { @Bean public String hello(){ System.out.println("hello"); return "hello"; } } 如果没...
@Configuration 表示什么意思
qq_41170818的博客
10-05 214
配置类通常包含了一些用于配置和组装Spring应用程序组件的方法,这些方法可以使用@Bean注解来声明Bean定义。支持组件扫描:@Configuration注解通常与@ComponentScan注解一起使用,以启用组件扫描并自动发现被@Configuration标记的类。定义Bean:在配置类中,你可以使用@Bean注解来声明一个Bean定义。这使得配置更加灵活和类型安全。声明配置类:@Configuration注解告诉Spring容器,这个类是一个配置类,它包含了Spring应用程序的配置信息。
一文学会Spring的@Configuration配置类解析
xxxzzzqqq_的博客
03-20 147
本篇文章将详细分析Spring中如何加载并解析由@注解修饰的配置类。注解Spring中特别重要且知名的注解,大家都知道怎么使用(如果还不知道,那你一定是没看超详细总结Spring的配置注解),作用就是可以向容器注册bean,并且就像“每一个成功的男人背后都有一个优秀的女人在支持”,@注解的背后也有一个功能强大的类在支撑,那就是,所以本文的重点就是如何解析由@注解修饰的配置类。本文的一个思维导图如下所示。最后,请务必知道Spring的是什么,不能只知道Spring有bean但不知道bean的前生。
@SpringBootApplication注解到底做了什么,你真的了解吗?
12-21
这个注解是`@Configuration`的别名,用于标记一个类为Spring的配置类。配置类中定义的方法会被Spring容器作为Bean定义,以便在运行时创建对象。通过`@SpringBootConfiguration`,Spring Boot可以知道哪些类包含应用...
Spring注解驱动开发第14讲——你了解@PostConstruct注解和@PreDestroy注解吗?
李阿昀的博客
12-01 3515
写在前面 在之前的文章中,我们介绍了如何使用@Bean注解指定初始化和销毁的方法,也介绍了使用InitializingBean和DisposableBean来处理bean的初始化和销毁。除此之外,在JDK中还提供了两个注解能够在bean创建完成并且属性赋值完成之后执行一些初始化工作和在容器销毁bean之前通知我们进行一些清理工作。今天,我们就一起来看看这两个注解的用法。 @PostConstruct注解和@PreDestroy注解 @PostConstruct注解 @PostConstruct注解好多人以为
简单分析@Configuration
Leon_Jinhai_Sun的博客
10-31 291
Configuration这个注解大家应该有用过,它是JavaConfig 形式的基于Spring IOC容器的配置类使用的一种注解。因为SpringBoot本质上就是一个spring应用,所以通过这个注解来加载IOC容器的配置是很正常的。所以在启动类里面标注了@Configuration,意味着它其实也是一个IoC容器的配置类。 传统意义上的spring应用都是基于xml形式来配置bean的依赖关系。然后通过spring容器在启动的时候,把bean进行初始化并且,如果bean之间存在依赖关系,则分析.
@Configuration的使用 和作用
--雪飘时吻你--
11-27 206
原文地址:https://blog.csdn.net/BinshaoNo_1/article/details/85005935
Spring零配置之@Configuration注解详解
Java技术栈,分享最主流的Java技术
07-09 1971
@Configuration介绍 Spring3.0之前要使用Spring必须要有一个xml配置文件,这也是Spring的核心文件,而Spring3.0之后可以不要配置文件了,通过注解@Configuration完全搞定。 @Configuration即用来代替Spring配置文件的,它就是一个@Component组件,接收一个value值也就是bean的名字,value可以不填。 @Configuration使用 下面是一个使用实例,创建了一个userService和accountServic..
spring】@Configuration注解学习
一个写了10年bug的程序员日常笔记。
03-18 1546
Spring框架中的一个核心注解,它用于标记一个类为配置类,此类主要用于声明Bean以及应用的配置信息。在Spring容器中,通过扫描带有注解的类,可以将其实例化并处理其中定义的Bean。在注解的类中,可以使用@Bean注解的方法来定义单个Bean。这些方法会在运行时被调用,返回的对象会被注册到Spring IoC容器中,这样就可以在整个应用中进行依赖注入和管理。value:存入到Spring IOC容器中的Bean的id。
SpringBoot学习之注解@Configuration的作用、使用以及说明
qq_41623154的博客
03-08 4550
参考文档:https://blog.csdn.net/BinshaoNo_1/article/details/85005935?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task https://blog.csdn.net/lujiangui/art...
@Configuration详解
bsegebr的博客
08-01 1433
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。也就是说,虽然写的Myconfig是在容器中注册组件用的,但是在注册组件之前会在容器中查找有没有该组件。如果有,则取该组件用于保证单实例,如果没有再注册一个新的组件。返回类型为组件类型,返回的值,就是组件在容器中的实例。使用代理模式,保证组件的单实例,启动不如false快,但是重复利用率高,适用于会重复使用组件的场景。虽然是调用了两次,可它们两个是相等的,也就是说使用了代理,取的都是同一个值。...
@Configuration注解
yangzhe19931117的博客
12-22 2127
@Configuration注解
@Configuration 使用
我在阴山下
12-04 2702
@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被 AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。 注意:@Configuration注解的配置类有如下要求:...
@Configuration用法
05-19
@ConfigurationSpring框架中的一个注解,它用于标识一个类为Spring的配置类...@Configuration的使用可以让我们更加方便地管理各种Bean对象的创建和依赖关系,同时也能让我们更加清晰地了解应用程序的架构和依赖关系。
写文章

热门文章

  • Mybatis学习之数据库字段与实体属性的映射 13348
  • IDEA import导入的类明明存在,却飘红,你可以这样做 12105
  • 一篇文章详细解读Spring的AOP原理过程(Spring面向切面详解) 7752
  • mybatisplus的分页插件以及自定义分页 7225
  • mysql数据库安装以及登录(如何在windows下安装mysql数据库,以及解决mysql8登录报错问题,绝对是保姆级别的,不要错过哦) 6499

分类专栏

  • mybatis 24篇
  • Spring全家桶 53篇
  • Java开发 187篇
  • Linux操作系统 12篇
  • Maven 14篇
  • redis 24篇
  • mysql 37篇
  • 前端 3篇

最新评论

  • IDEA import导入的类明明存在,却飘红,你可以这样做

    2301_77206009: 我的找一天还是没找出问题,导包报红,是接收文件直接打开的

  • Linux下安装mysql数据库

    2301_80366777: 没用啊,安装还是报错

  • Mybatis学习之数据库字段与实体属性的映射

    deng828968: 谁家好人给姑娘取赵六的名字啊

  • 一篇文章详细解读Spring的AOP原理过程(Spring面向切面详解)

    Cosseted: 尚硅谷听课笔记

  • 一篇文章详细解读Spring的AOP原理过程(Spring面向切面详解)

    笑小枫: 看了文章,我对大佬的膜拜犹如滔滔江水,连绵不绝!欢迎大佬来我这参观~

大家在看

  • 动动手指探索世界,旅游APP如何定制开发?
  • 占用消防通道监测摄像机
  • python语言MIDI钢琴简谱播放器程序代码QZQ
  • 时间序列无监督异常点检测算法_孤立森林,局部离群因子检测和自编码器
  • VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 111

最新文章

  • springboot整合mybatisplus使用多数据源
  • 关于idea的快捷键ctrl+alt+u显示类的继承关系不全的问题
  • 介绍一款特别好用的java反编译工具jd-gui
2023年2篇
2022年184篇
2021年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢编程的夏先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家珠海校园玻璃钢雕塑郑州佛像玻璃钢雕塑设计厂家招远玻璃钢胸像雕塑校园玻璃钢雕塑电话商丘玻璃钢人物雕塑汕头玻璃钢动物雕塑销售电话仙桃商场美陈河南商场美陈厂家直销广西玻璃钢雕塑造价商场美陈供应商管理合肥五一商场美陈白山玻璃钢雕塑工程广州市玻璃钢雕塑厂家铜陵商场户外美陈武汉玻璃钢花盆生产厂潮汕玻璃钢雕塑厂家兰州雕塑玻璃钢品牌玻璃钢雕塑推荐货源玻璃钢塑料雕塑价格楚雄玻璃钢雕塑报价玻璃钢关羽雕塑常见玻璃钢花盆价格无锡通用玻璃钢雕塑价格玻璃钢基督教雕塑厂家上海卡通玻璃钢动物狮子雕塑苏州玻璃钢雕塑室内德州标牌玻璃钢彩绘雕塑公司仿古玻璃钢仿铜雕塑报价玻璃钢木匠雕塑郑州价值观玻璃钢卡通雕塑定制香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化