当前位置: 首页 > news >正文

使用@Configuration和@Bean给spring容器中注入组件

@Confguration->告诉spring这是一个配置类

以前我们是使用配置文件来注册bean的,现如今可以用@Configuration
来代替配置文件。

//配置配==配置文件
@Configuration // 告诉Spring这是一个配置类,等同于以前的配置文件
public class MainConfig {// @Bean注解是给IOC容器中注册一个bean,id默认是用方法名作为id,类型自然就是返回值的类型@Beanpublic Person person() {return new Person("liayun", 20);}}

如何通过注解配置类来获取ioc容器和bean呢?

public class MainTest {public static void main(String[] args) {
//		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");    以前我们是通过配置文件的路径来获取Ioc容器,现在我们是基于注解开发,不用ClassPathXmlApplicationContext了
//		Person person = (Person) applicationContext.getBean("person");
//		System.out.println(person);ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class /*这里存放的是配置类的class对象*/);   //获取ioc容器Person person = applicationContext.getBean(Person.class);   //获取ioc容器里面的组件,也就是Bean对象System.out.println(person);// Person这个类型的组件在IOC容器中的名字是什么呢?String[] namesForType = applicationContext.getBeanNamesForType(Person.class);for (String name : namesForType) {System.out.println(name);}
}
http://www.lryc.cn/news/136050.html

相关文章:

  • 信号波形解读
  • Centos 解决 XXX不在 sudoers 文件中。此事将被报告。的错误
  • 雪花算法和uuid的区别
  • docker之DockerFile与网络
  • 知识蒸馏开山之作(部分解读)—Distilling the Knowledge in a Neural Network
  • centos 7 安装 docker-compose curl 设置代理
  • 3D姿态相关的损失函数
  • ChatGPT取代人类仍然是空想?有没有一种可能是AI在迷惑人类
  • 基于swing的旅游管理系统java jsp旅行团信息mysql源代码
  • Windows wsl2支持systemd
  • NLP - 如何解决ModuleNotFoundError: No module named ‘jieba‘的问题
  • Windows10上VS2022单步调试FFmpeg 4.2源码
  • 【tkinter 专栏】菜单组件
  • 【LeetCode-经典面试150题-day10】
  • Transformer在医学影像中的应用综述-分类
  • 新服务器基本环境下载conda + docker + docker-compose + git
  • Matlab论文插图绘制模板第108期—特征渲染的标签散点图
  • 设计模式之中介者模式(Mediator)的C++实现
  • css弹性布局的方式
  • 阿里云源 Python、npm、git、goproxy
  • 微服务架构1.0
  • iOS开发Swift-基础部分
  • 【LeetCode-经典面试150题-day11】
  • 深度学习入门(三):卷积神经网络(CNN)
  • 网站是如何识别网络爬虫的?
  • TP-Link 智能灯泡缺陷能让黑客窃取用户 WiFi 密码
  • 接口测试,如何测试?
  • React源码解析18(11)------ 实现多次setState的批处理
  • 评测凯迪仕K70「千里眼」智能锁:不忘安全初心,便捷体验更上一层
  • mysql数据库root密码遗忘后,修改root密码