zoukankan      html  css  js  c++  java
  • Spring Boot 获取Bean对象实体

    一、实现 ApplicationContextAware 接口

    package com.zxguan;
    
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    
    /**
     * @author zxguan
     * @description
     * @create 2018-01-29 15:21
     */
    public class SpringUtil implements ApplicationContextAware {
    
        private static ApplicationContext applicationContext = null;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            if(SpringUtil.applicationContext == null){
                SpringUtil.applicationContext  = applicationContext;
            }
        }
    
        //获取applicationContext
        public static ApplicationContext getApplicationContext() {
            return applicationContext;
        }
    
        //通过name获取 Bean.
        public static Object getBean(String name){
            return getApplicationContext().getBean(name);
        }
    
        //通过class获取Bean.
        public static <T> T getBean(Class<T> clazz){
            return getApplicationContext().getBean(clazz);
        }
    
        //通过name,以及Clazz返回指定的Bean
        public static <T> T getBean(String name,Class<T> clazz){
            return getApplicationContext().getBean(name, clazz);
        }
    }

    二、几种方式

      1、在Spring Boot可以扫描的包下, SpringUtil 使用注解@Component

      2、不在Spring Boot的扫描包下方式一, 使用@Bean注解,注入Spring容器

      3、不在Spring Boot的扫描包下方式二, 在App.class类上使用@Import(value={SpringUtil.class})


    Spring 自定义Bean 实例获取

  • 相关阅读:
    开通博客
    kubernetes生成新token
    kubernetes命令(二)
    kubernets过滤pod标签(labels)
    kubernetes命令(一)
    docker pull镜像失败
    linux系统修改用户密码报错
    linux系统安全加固
    IT宝塔安装,Centos系统
    安装python模块
  • 原文地址:https://www.cnblogs.com/zxguan/p/8377542.html
Copyright © 2011-2022 走看看