第五节:如何使用其他注解方式从IOC中获取bean(自学Spring boot 3.x的第一天)

大家好,我是网创有方,上节我们实践了通过@Bean方式声明Bean配置。咱们这节通过@Component和@ComponentScan方式实现一个同样功能。这节实现的效果是从IOC中加载Bean对象,并且将Bean的属性打印到控制台。

第一步:创建pojo实体类student

上节我们是新建了一个config的包和pojo包,我们的student类放在pojo类中,这节要把student类移动到config中。为什么要移动,原因是@ComponentScan注解的类只会扫描当前包下的类,首先,创建一个student实体类,通过右键Generate生成属性的getter和setter方法。

Student.java

代码如下:

package cn.wcyf.wcai.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component("student")
public class Student {@Value("小明")String  name;//姓名@Value("18")int age;//年龄public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

第二步:创建Appconfig容器配置类

新建一个config包,创建一个AppConfig.java类

package cn.wcyf.wcai.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan
public class AppConfig {}

第三步:创建IOC容器,加载bean到容器中

代码如下:

@SpringBootApplicationpublic class WcaiApplication {public static void main(String[] args) {var ctx = new AnnotationConfigApplicationContext(AppConfig.class);var student = ctx.getBean(Student.class);System.out.println(student.getName());System.out.println(student.getAge());}@Controllerpublic static class HelloController {@GetMapping("/test")public String test(HttpServletRequest request) {return "index";}}}

第四步:运行看效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android进阶之路 - DialogFragment有没有了解的必要?

几个月前写到了弹框业务,以前经常用Dialog、ButtomDialog 、popupWindow 组件,为了契合项目结构参考了原有的 DialogFragment 组件,特此予以记录 我一般在项目中写弹框组件的话,主要用到 alertDialog、popupWindow 组件&#xff0…

用GPT-4纠错GPT-4 OpenAI推出CriticGPT模型

根据OpenAI周四(6月27日)发布的新闻稿,该公司新推出了一个基于GPT-4的模型——CriticGPT,用于捕获ChatGPT代码输出中的错误。CriticGPT的作用相当于让人们用GPT-4来查找GPT-4的错误。该模型可以对ChatGPT响应结果做出批评评论&…

有没有能用蓝牙的游泳耳机,性能超凡的4大游泳耳机力荐

在现代科技的推动下,越来越多具备蓝牙功能的游泳耳机正在改变游泳爱好者的体验方式。这些创新产品不仅在防水性能上有了显著提升,还能让您在水中享受到高质量的音乐。然而,选择一款优秀的蓝牙游泳耳机并不简单,需要考虑到防水等级…

【秋招突围】2024届秋招笔试-科大笔试题-01-三语言题解(Java/Cpp/Python)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 文章目录 &#x1f4d6…

基于SSM的大学生家教管理系统【附源码+LW】

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本大学生家教平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

c语言--指针

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理c语言中指针的相关知识点。 指针概念 指针存储的就是数据的地址。 直观理解: 李华家是北洋路130号1单元101 用变量处理数据: 我们去李华家拿数据。 用指针处理数据: 我们去北洋路130号1单元101拿数据…

Paragon NTFS与Tuxera NTFS有何区别 Mac NTFS 磁盘读写工具选哪个好

macOS系统虽然以稳定、安全系数高等优点著称,但因其封闭性,不能对NTFS格式磁盘写入数据常被人们诟病。优质的解决方案是使用磁盘管理软件Paragon NTFS for Mac(点击获取激活码)和Tuxera NTFS(点击获取激活码&#xff0…

2024年科技型中小企业申报指南

01 什么是科技型中小企业 科技型中小企业是指依托一定数量的科技人员从事科学技术研究开发活动,取得自主知识产权并将其转化为高新技术产品或服务,从而实现可持续发展的中小企。 02 申请“科技型中小企业”的好处 一、政策扶持与优惠 1.税收减免&…

Vue2组件传值(通信)的方式

1.父传后代 ( 后代拿到了父的数据 ) 1. 父组件引入子组件&#xff0c;绑定数据 <List :str1‘str1’></List> 子组件通过props来接收props:{str1:{type:String,default:}}***这种方式父传子很方便&#xff0c;但是父传给孙子辈分的组件就很麻烦&#xff08;父》子…

《GPT模型揭秘:数据驱动AI的核心概念与GPT系列对比分析》

DS&#xff1a;《What Are the Data-Centric AI Concepts behind GPT Models?通过三个数据为中心的人工智能目标(训练数据开发、推理数据开发和数据维护)揭示GPT模型背后的数据为中心的人工智能概念》解读—GPT-1/GPT-2/GPT-3系列对比(语料大小参数量解码层数上下文长度隐藏层…

技术学习的奥秘与乐趣

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 在当今快速发展的科技时代&#xff0c;学习技术已经成为了许多人追求的重要目标之一。无论是为了个人发展&#…

并发编程基础概念

相关概念 并行 并行是指同一个时刻&#xff0c;多个任务同时进行。只有在多核CPU下才会发生。 并发 并发是指单个CPU在不同任务之间来换切换工作&#xff0c;但是同一时刻只有一个任务在工作。由于CPU的切换速度很快&#xff0c;给人的感受是多个任务在一起运行。 串行 串行…

Ansys Zemax|在设计抬头显示器(HUD)时需要使用哪些工具?

附件下载 联系工作人员获取附件 汽车抬头显示器或汽车平视显示器&#xff0c;也被称为HUD&#xff0c;是在汽车中显示数据的透明显示器&#xff0c;不需要用户低头就能看到他们需要的重要资讯。这个名字的由来是由于该技术能够让飞行员在头部“向上”并向前看的情况下查看信息…

RocketMQ快速入门:linux安装rocketmq并配置开机自启(十一)

目录 0. 引言1. 下载安装包1.1 高版本直接下载安装包1.2 下载源码包进行编译 2. namesrv和broker安装2.1 安装2.2 放开服务器端口2.3 测试 3. 配置开机自启3.1 配置namesrv开机自启3.2 配置broker开机自启 0. 引言 之前我们针对本机电脑安装rocketmq进行了讲解&#xff0c;同时…

Java--回顾方法的定义

1.修饰符 public 公共的 修饰String类型 2.返回类型 返回的值得类型 返回值为String&#xff08;字符串&#xff09;类型 3.break continue return的区别 break&#xff0c;结束整个循环 continue&#xff0c;结束本次循环 return&#xff0c;结束整…

远程过程调用RPC实现原理

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

运算放大器输出相位反转和输入过压保护

运算放大器输出电压相位反转 本教程讨论两个与运算放大器相关的话题&#xff1a;输出相位反转和输入过压保护。 超过输入共模电压(CM)范围时&#xff0c;某些运算放大器会发生输出电压相位反转问题。其原因通常是运算放大器的一个内部级不再具有足够的偏置电压而关闭&#xff…

昇思25天学习打卡营第4天|常见的数据变换 Transforms类型

导入数据集相关库和模块 首先导入了一些必要的库和模块&#xff0c;包括 numpy&#xff08;np 是其常用的别名&#xff09;、PIL 库中的 Image 模块&#xff0c;以及自定义的 download 模块&#xff0c;还有 mindspore.dataset 中的 transforms、vision、text 模块。然后使用 m…

数字信号处理实验三(IIR数字滤波器设计)

IIR数字滤波器设计&#xff08;2学时&#xff09; 要求&#xff1a; 产生一复合信号序列&#xff0c;该序列包含幅度相同的28Hz、50Hz、100Hz、150Hz的单音&#xff08;单频&#xff09;信号&#xff1b;其中&#xff0c;50Hz及其谐波为工频干扰&#xff08;注&#xff1a;采样…

2024年6月27日,欧盟REACH法规新增第31批1项SVHC高关注物质

ECHA公布第31批1项SVHC&#xff0c;物质已增至241项 2024年6月27日&#xff0c;ECHA公布第31批1项SVHC&#xff0c;总数达241项。新增物质未包括磷酸三苯酯&#xff0c;仍在评议中。REACH法规要求SVHC含量超0.1%需告知下游&#xff0c;出口超1吨须通报ECHA。SCIP通报要求SVHC含…