SpringBoot复习:(45)@Component定义的bean会被@Bean定义的同名的bean覆盖

这篇具有很好参考价值的文章主要介绍了SpringBoot复习:(45)@Component定义的bean会被@Bean定义的同名的bean覆盖。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有同名的bean需要配置:
spring.main.allow-bean-definition-overriding=true
否则报错。

package cn.edu.tju.component;

import org.springframework.stereotype.Component;

@Component
public class Person {
    private String name;
    private int age;

    {
        this.name = "nameInComponent";
        this.age =33;
    }

    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;
    }
}

package cn.edu.tju.config;

import cn.edu.tju.component.Person;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class PersonConfig {
    @Bean("person")
    Person getPerson(){
        Person p = new Person();
        p.setAge(23);
        p.setName("nameInBeanAnnotation");
        return  p;
    }
}

package cn.edu.tju;

import cn.edu.tju.component.Person;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class Start {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(Start.class, args);
        Person person = context.getBean("person", Person.class);
        System.out.println(person.getName());

    }
}

运行结果
SpringBoot复习:(45)@Component定义的bean会被@Bean定义的同名的bean覆盖,SpringBoot,spring boot,java,spring文章来源地址https://www.toymoban.com/news/detail-649455.html

到了这里,关于SpringBoot复习:(45)@Component定义的bean会被@Bean定义的同名的bean覆盖的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 解决SpringBoot启动失败:A component required a bean of type ‘xxxxxxx‘ that could not be found.

    今天写了一个MD5加密加盐工具类,运用到实际业务代码中缺报错了,内容如下: 根据错误日志不难发现,其实是因为组件没有被找到。因为这个工具类是我自己写的。 然后我就去检查代码,最终发现,我把这个工具类以注解的形式注入进来并使用 但是,这个工具类里面,我

    2024年02月20日
    浏览(45)
  • SpringBoot复习:(18)@Value和@Autowired注解配置的属性是怎么注入到bean中的?

    @Value java doc文档指出,它是由 AutowiredAnnotationBeanPostProcessor 这个 BeanPostProcessor 处理的。 AutowiredAnnotationBeanPostProcessor的构造方法如下: 可见AutowiredAnnotationBeanPostProcessor用来处理@Autowired和@Value这两个注解。 具体的处理流程是通过在容器对bean进行实例化的时候应用上述BeanPostPr

    2024年02月13日
    浏览(37)
  • SpringBoot中有几种定义Bean的方式?

    注意:@ControllerAdvice相当于对于Controller的切面,可以绑定PropertyEditor。 (类似于AOP,但是底层不是AOP实现。) 注意:@Configuration 主要标识一个Bean是一个配置Bean,利用这个Bean可以对Spring进行配置,比如扫描路径、定义其他的Bean。 这是我们其他所有方法的底层实现。 MyApplic

    2024年02月02日
    浏览(37)
  • springboot扫描不到其他模块下定义的Bean

    springboot默认是不能扫描到其他依赖模块定义的Bean的。(默认扫描的是启动类所在包下的所有Bean)也就是在项目启动的不能将其他模块的Bean加载到spring容器 项目之间要有联系性 admin模块为springboot框架,其他的只是普通的maven项目,admin 默认是无法扫描到 framework模块里面的

    2023年04月26日
    浏览(33)
  • @Component 和 @Bean的区别

    @Component 和 @Bean 是Spring框架中用于管理和配置依赖注入的关键注解,用于定义和管理Spring应用程序中的组件。 @Component: @Component 是一种泛用型的Spring注解,用于标识一个类为Spring组件。Spring会自动扫描所有带有 @Component 注解的类,并将其实例化为Spring容器中的一个Bean(组件)

    2024年02月07日
    浏览(32)
  • @Component@Import@Bean加载顺序解析

    我们在使用Spring注入Bean对象时,会使用不同注解,比如@Component @Service @Controller @Import @Bean等。由于@Service @Controller 等都可以归为@Component,那么@Component 和@Import 、@Bean是何时被加载的,以及他们之间的顺序呢,下面就来分析一下。 首先Spring的启动肯定是由AbstractApplicationConte

    2024年02月01日
    浏览(37)
  • Spring中@Component和@Bean的区别

    1.用途不同         @Component多用于 标识一个普通的类 ,而@Bean多用于 配置类 里面去 声明和配置Bean对象 。 2.使用方式不同         @Component是 类级别 的注解,Spring可以 扫描到配置此注解的这些类并把它们注入到SpringIOC容器 中,@Bean是修饰在方法上的,表示此 方法返

    2024年02月16日
    浏览(38)
  • 一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan

    本文主要讲述Spring是如何解析“context:component-scan”元素,扫描加载目录下的BeanDefinition。 1、解析的元素如下: 注:该元素解析过程中,会自动处理“context:annotation-config/”元素要解析的内容。 2、只扫描加载目录下的BeanDefinition,不对注解进行解析。在AbstractApplicationContext.

    2024年02月16日
    浏览(39)
  • Autowired members must be defined in valid Spring bean (@Component|@Service|...)

    可以过滤未登录的用户请求,但是 但是无法进一步验证管理员身份(这里我用管理员号登录了) 定位到AdminFilter中的问题 在AdminFilter中使用了Bean自动注入 自动注入对象必须定义在有效的spring bean内,即需要将AdminFilter定义为bean,才能在该类中注入其他bean。 但是将AdminFilter定

    2024年02月15日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包