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

这篇具有很好参考价值的文章主要介绍了使用@Configuration和@Bean给spring容器中注入组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

以前我们是使用配置文件来注册bean的,现如今可以用@Configuration
来代替配置文件。文章来源地址https://www.toymoban.com/news/detail-667455.html

//配置配==配置文件
@Configuration // 告诉Spring这是一个配置类,等同于以前的配置文件
public class MainConfig {

	// @Bean注解是给IOC容器中注册一个bean,id默认是用方法名作为id,类型自然就是返回值的类型
	@Bean
	public 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);
		}
}

到了这里,关于使用@Configuration和@Bean给spring容器中注入组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring注册bean和注入bean的方法

    一个对象加入到Spring容器中。 XML配置方式 @Component注解@Controler、@Service、@Repository + @ComponentScan包扫描方式 @Configuration + @Bean方式 @Import方式 @Import + ImportSelector方式 @Import + ImportBeanDefinitionRegistrar方式 FactoryBean方式 BeanDefinitionRegistryPostProcessor方式 BeanFactoryPostProcessor方式 参考:添

    2024年02月15日
    浏览(31)
  • Springboot依赖注入Bean的三种方式,final+构造器注入Bean

    @Autowired注解的一大使用场景就是Field Injection。 通过Java的反射机制实现,所以private的成员也可以被注入具体的对象 优点 代码少,简洁明了。 新增依赖十分方便,不需要修改原有代码 缺点 容易出现空指针异常。Field 注入允许构建对象实例时依赖的对象为空,导致空指针异常

    2024年02月02日
    浏览(39)
  • 【Spring Boot Bean 注入详解】

    什么是 Bean 注入? 在 Spring 中,Bean 是应用程序的核心构建块。Bean 是由 Spring IoC 容器管理的对象,通过依赖注入实现对象之间的解耦。 Spring Boot 中的 Bean 注入 在 Spring Boot 中,Bean 注入通常通过 @Autowired 、 @Component 、 @Service 、 @Repository 等注解实现。 @Autowired 用于自动装配

    2024年02月21日
    浏览(31)
  • mini-spring-为bean填充属性&注入bean

    bean属性填充的设计 什么是属性填充 属性填充可以在类 AbstractAutowireCapableBeanFactory 的 createBean 方法中添加补全属性方法。 属性填充要做的事情 1.属性填充要在类实例化创建之后,也就是需要在 AbstractAutowireCapableBeanFactory 的 createBean 方法中添加 applyPropertyValues 操作。由于我们需

    2024年01月25日
    浏览(28)
  • SpringBoot运行时注入一个Bean

    使用GenericApplicationContext类的registerBean方法可以在项目运行时注入一个bean,获取GenericApplicationContext可以继承 ApplicationContextAware ,重写setApplicationContext,里面的参数就是ApplicationContext。 BeanData ExampleBean 测试@Autowrite是否生效。

    2024年02月14日
    浏览(29)
  • [Spring] @Bean 修饰方法时如何注入参数

    目录 一、@Bean 的简单使用 1、正常情况 2、问题提出 二、解决方案 1、@Qualifier 2、直接写方法名 三、特殊情况 1、DataSource 在开发中,基于 XML 文件配置 Bean 对象的做法非常繁琐且不好维护,因此绝大部分情况下都是使用“完全注解开发”。 对于 Spring 而言,IOC 容器中的 Bean

    2024年01月18日
    浏览(26)
  • SpringBoot启动项目报错: Consider defining a bean of type ‘xxx‘ in your configuration.

    原因:涉及这类bean问题的报错,大多数导致原因为对应的bean类或bean名未注入容器 检查思路或解决办法: 1.根据提示信息里的bean名称和找不到的类名,检查该类是否具有把该类以报错bean名注入容器的操作,如没有添加注解或者xml文件注入容器,然后再去启动检查是否可以启

    2024年04月10日
    浏览(38)
  • 4.3---Spring框架之Spring中bean的注入方式---(深入版本)

    Spring基于xml注入bean的几种方式: set()方法注入; 2.构造器注入:①通过index设置参数的位置;②通过type设置参数类型; 静态工厂注入; 实例工厂; Spring IOC注入方式用得最多的是(1)(2)种; 注意:通过Spring创建的对象默认是单例的,如果需要创建多实例对象可以在标签后面添

    2023年04月10日
    浏览(31)
  • 一文道破将bean注入到Spring中的几种方式

    前言: 前两天有学妹问我如何将bean注入到Spring中,虽问题较简单,但还是写此文以告之。 在Java的Spring框架中,将bean注入到容器中是核心概念之一,这是实现依赖注入的基础。Spring提供了多种方式来将bean注入到容器中。 写此文,同时也希望这篇文章能帮助到各位路过的大佬

    2024年04月15日
    浏览(30)
  • [已解决]Springboot单元测试时注入bean失败的问题

    SpringBoot扫包的方式,扫描启动类(引导类)所在的包和它的子包 首先看看测试类的包名与启动类的 包名是否一致   因为包名不一致,当启动类启动时就不知道去哪扫描bean,所以也就无法注入。 还有就是注意@SpringBootTest指定的启动类不要导错包 \\\"启动类\\\" 导入自己项目的启动类

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包