Spring获取当前类在容器中的beanname实现思路

目录

下文笔者讲述在spring中获取beanname的方法分享,如下所示

实现思路:
    1.只需继承BeanNameAware接口
	2.然后重写
	@Override
    public void setBeanName(String name) {
        /*业务代码*/
    }
	3.setBeanName中传入的参数即代表beanname

例:

package com.adeal;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
public class Person implements BeanNameAware {
   private String id;
   private String userName;
   private String beanName;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public Person() {
    }
    @Override
    public String toString() {
        return "Person{" +
                "id='" + id + '\'' +
                ", userName='" + userName + '\'' +
                '}';
    }
    @Override
    public void setBeanName(String name) {
        this.beanName = name;
    }
    public String getBeanName(){
        return this.beanName;
    }
}

到此这篇关于Spring获取当前类在容器中的beanname的文章就介绍到这了,更多相关Spring获取容器beanname内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决Spring配置文件中bean的property属性中的name出错问题

    Spring配置文件中bean的property属性中的name有错,红色 原因: 在实现类中没有写set方法 解决: 理解Spring配置文件中的property标签中的属性 1.ref引用一个已经存在的对象,value创建一个新的对象 2.value可以赋一些简单类型的值,ref可以引用其他的bean对象. Spring配置文件中配置property标签的name和ref的区别 <bean id="person" class="service.Person"

  • Spring的Bean容器介绍

    最近正在重读<Spring In Action>一书,把里面的知识点再回顾一遍. BeanFactory是一个顶层接口,是最基本的Bean容器.Spring使用BeanFactory来生成,配置和管理Bean. ApplicationContext是BeanFactory的子类,它比BeanFactory提供了更加丰富的功能. 平时常用的Bean容器还有3个,它们都是ApplicationContext的子类,如图所示.ClassPathXmlApplicationContext主要用在在类路

  • 解决springboot生成bean名称冲突(AnnotationBeanNameGenerator)

    目录 springboot生成bean名称冲突 问题描述 解决问题 自定义bean对象重名问题 springboot生成bean名称冲突 问题描述 我们再使用springboot的时候,在不同的文件目录下,可能存在相同名称的java类,这个时候会报bean name冲突错误 首先我们来了解下,springboot生成bean名称的原理 当Component,Respository,Service,Controller注解的value树形没有自定义时,会根据类的名称生成一个短的bean name.

  • Spring如何将bean添加到容器中

    spring的一大功能是依赖注入 通过把javabean放入spring的ioc容器中进行统一管理 过程如图所示 最常见的例子是使用xml配置bean 把每一个<bean>元素分别转换成一个BeanDefinition对象,其中保存了从配置文件中读取到的该bean的各种信息 再通过BeanFactory对bean进行注册 关于BeanFactory请看这篇文章 https://www.cnblogs.com/aspirant/p/9082858.html 例如: <!--配置mybati

  • SpringBoot普通类获取spring容器中bean的操作

    前言 在spring框架中,是无法在普通类中通过注解注入实例的,因为sping框架在启动的时候,就会将标明交给spring容器管理的类进行实例化,并梳理他们彼此的依赖关系,进行注入,没有交给spring容器管理的普通类,是不会进行注入的,即使你使用了注入的相关注解.这个时候,如果我们需要在普通类中获取spring容器中的实例,就需要一些特定的方法,这里将整理一下如何在springboot中实现这样的方法. 创建springboot工程demo 项目结构图示 项目结构说明 service包下为de

  • 浅谈spring容器中bean的初始化

    当我们在spring容器中添加一个bean时,如果没有指明它的scope属性,则默认是singleton,也就是单例的. 例如先声明一个bean: public class People { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String get

  • Spring-AOP自动创建代理之BeanNameAutoProxyCreator实例

    实例 代码已托管到Github-> https://github.com/yangshangwei/SpringMaster 在 Spring-AOP 静态普通方法名匹配切面 案例中,我们通过配置两个ProxyFactoryBean分别为waiter和seller的Bean创建代理对象, 如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring

  • Spring获取当前类在容器中的beanname实现思路

    目录 下文笔者讲述在spring中获取beanname的方法分享,如下所示 实现思路: 1.只需继承BeanNameAware接口 2.然后重写 @Override public void setBeanName(String name) { /*业务代码*/ } 3.setBeanName中传入的参数即代表beanname 例: package com.adeal; import org.springframework.beans.factory.BeanNameAware; import o

  • 基于spring三方包类注入容器的四种方式小结

    如果引用第三方jar包,肯定是不能直接使用常用注解@Controller.@Service.@Repository.@Component将类的实例注入到spring容器中.以下四种方法可以向spring容器中导入三方包中类实例 . 1 xml配置 这种情况大家用的比较多,就是在spring的xml文件中配置需要导入的bean.在springweb项目工程web.xml中 ContextLoaderListener或者DispatcherServlet的初始参数contextConfigLocat

  • spring获取bean的源码解析

    介绍 前面一章说了AbstractApplicationContext中的refresh方法中的invokeBeanFactoryPostProcessors.主要是调用BeanFactoryPostProcessor.其中也有获取bean的过程,就是beanFactory.getBean的方法.这一章就说下getBean这个方法.由于spring中获取bean的方法比较复杂,涉及到的流程也非常多,这一章就先说下整个大体的流程.其中的细节会在后面也会慢慢说. 源码 直接看源码吧 @Overrid

  • Spring通过工具类实现获取容器中的Bean

    目录 1. Aware 接口 2. BeanFactoryAware 3. TienChin 项目实践 1. Aware 接口 小伙伴们知道,Spring 容器最大的特点在于所有的 Bean 对于 Spring 容器的存在是没有意识的,因此我们常说理论上你可以无缝将 Spring 容器切换为其他容器(然而在现实世界中,我们其实没有这样的选择,除了 Spring 容器,难道还有更好用的?). 当然这只是一个理论,在实际开发中,我们往往要用到 Spring 容器为我们提供的诸多资源,例如想要获取到容

  • JSP 获取spring容器中bean的两种方法总结

    JSP 获取spring容器中bean的方法总结 方案1(Web中使用): ApplicationContext ct = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext()); logService = (ISysLogService) ct.getBean("sysLogServiceImpl"); 说明:getRequiredWeb

  • Java 如何从spring容器中获取注入的bean对象

    1.使用场景 控制层调用业务层时,控制层需要拿到业务层在spring容器中注入的对象 2.代码实现 import org.apache.struts2.ServletActionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.suppo

  • Java中Spring获取bean方法小结

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢? Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制.BeanFactory使管理不同类型的Java对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory基础之上,提供

  • 详解Spring简单容器中的Bean基本加载过程

    本篇将对定义在 XMl 文件中的 bean,从静态的的定义到变成可以使用的对象的过程,即 bean 的加载和获取的过程进行一个整体的了解,不去深究,点到为止,只求对 Spring IOC 的实现过程有一个整体的感知,具体实现细节留到后面用针对性的篇章进行讲解. 首先我们来引入一个 Spring 入门使用示例,假设我们现在定义了一个类 org.zhenchao.framework.MyBean ,我们希望利用 Spring 来管理类对象,这里我们利用 Spring 经典的 XMl 配置文件形式进行

  • spring在IoC容器中装配Bean详解

    1.Spring配置概述 1.1.概述 Spring容器从xml配置.java注解.spring注解中读取bean配置信息,形成bean定义注册表: 根据bean定义注册表实例化bean: 将bean实例放入bean缓存池: 应用程序使用bean. 1.2.基于xml的配置 (1)xml文件概述 xmlns------默认命名空间 xmlns:xsi-------标准命名空间,用于指定自定义命名空间的schema文件 xmlns:xxx="aaaaa"-------自定义命名空间,xx

随机推荐