首页 > 其他分享 >怎么查看 Ioc 容器包含指定 bean

怎么查看 Ioc 容器包含指定 bean

时间:2024-03-08 22:33:19浏览次数:28  
标签:容器 String public bean beanDefinitionName Ioc class

问题描述

今天工作中遇到了一个场景,通过读取 yml 配置 bean 信息,如果容器中包含指定 bean 则进行下一步处理,否则先创建 bean,在进行下一步操作,脑子一下子不动了,不知如何判断 容器中是否含有指定 bean

判断方法

类中注入  ApplicationContext  通过 bean 名称判断就行了

 

1、写三个bean,注入其2

public class Dog {
}
@Component
public class EMP_Test {
}
@Component
public class Cat {
}

2、找一个方法拿到 ioc 容器遍历即可

@Slf4j
@RestController
public class HelloController {
    @Resource
    private ApplicationContext applicationContext;

    @GetMapping("/hi1")
    private String hi1() {
        String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            System.out.println(beanDefinitionName);
            if (beanDefinitionName.equalsIgnoreCase("CAT") || beanDefinitionName.equalsIgnoreCase("EMP_TEST")) {
                System.out.println("------------------------------------");
            }
        }
        return "welcome to spring's world ";
    }

}

 

标签:容器,String,public,bean,beanDefinitionName,Ioc,class
From: https://www.cnblogs.com/wdh01/p/18061995

相关文章

  • 理解 Docker 容器中 UID 和 GID 的工作原理
    理解用户名、组名、用户ID(UID)和组ID(GID)在容器内运行的进程与主机系统之间的映射是构建安全系统的重要一环。如果没有提供其他选项,容器中的进程将以root用户身份执行(除非在Dockerfile中提供了不同的UID)。本文将解释这一工作原理,如何正确授予权限,并提供示例加以说明。逐步分析uid/g......
  • 在Docker中,怎么快速查看本地的镜像和容器?
    在Docker中,查看本地的镜像和容器分别可以通过以下两条命令来快速实现:1.查看本地镜像要查看本地计算机上存储的所有Docker镜像,可以使用dockerimages命令。这个命令会列出所有可用的镜像,包括镜像的存储库名称、标签、镜像ID、创建时间和所占用的空间。dockerimages输出示例:......
  • 在Docker中,如何实现退出容器时候自动删除?
    在Docker中,要实现容器在退出时自动删除,可以在运行容器时使用--rm标志。--rm参数会指示Docker在容器退出后立即删除容器。以下是具体的命令示例:dockerrun--rm<image-name><command>例如,如果要运行一个基于Ubuntu镜像的容器,并在容器运行完cat/etc/hosts命令后自动删除容......
  • 在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
    在Docker中,当一个容器退出(stoppedorexited)后,它将不再处于运行状态,因此,通过dockerps命令默认情况下将无法看到已退出的容器。然而,这并不意味着容器内的数据会丢失。容器退出时,其存储层中的数据通常是保留的,除非你明确地删除了容器。这意味着即便容器停止运行,只要你没有使用d......
  • 如何通过docker容器查看run命令
    1.当你需要迁移docker的时候,忘记的run的命令可以使用一下方法blossom-backend是你的容器名字或者容器IDdockerinspect--format'dockerrun\--name{{printf"%q".Name}}\{{-with.HostConfig}}{{-if.Privileged}}--privileged\{{-en......
  • @Component和@Bean的区别
    个人回答:1.作用对象不同:@Component注解作用于类,而@Bean注解作用于方法、2.@Component通常是通过路径扫描来自动侦测以及自动装配到Spring容器中(我们可以使用@ComponentScan注解定义要扫描的路径从中找出标识了需要装配的类自动装配到Spring的bean容器中)。@Bean注解......
  • Spring框架Bean对象的五个作用域
    ​ 一、前言:Bean对象简介在Spring项目中,那些由Spring IoC容器所管理的对象,称为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。上一段描述......
  • ARM平台实现Docker容器技术
    什么是Docker?(1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构......
  • Spring-@Bean-注解
    1.作用用于将对象存入spring的ioc容器中。@controller、@Service、@Component、@Configuration、@Repository等几个注解是一样的,都是负责将对象存入容器当中,而@Bean是用在方法上,将当前方法的返回值对象放到容器当中。2.使用@Bean一般出现在方法上面,也可用于自定义......
  • SpringBoot使用外部Web容器的解决方案
    SpringBoot默认内嵌了Web容器(如Tomcat、Jetty或Undertow),这使得应用可以作为独立的可执行JAR或WAR文件运行,无需外部Web容器。然而,在某些情况下,你可能想要将SpringBoot应用部署到外部的Web容器中,比如ApacheTomcat或Jetty。嵌入式的Web容器:应用可以打包成可执行的Jar。优点:简单......