Spring实战之获得Bean本身的id操作示例

 更新时间:2019年11月25日 09:00:22   作者:cakincqm  
这篇文章主要介绍了Spring实战之获得Bean本身的id操作,结合实例形式分析了spring获取Bean本身id的相关配置与实现技巧,需要的朋友可以参考下

本文实例讲述了Spring实战之获得Bean本身的id操作。分享给大家供大家参考,具体如下:

一 配置

<?xml version="1.0" encoding="GBK"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://www.springframework.org/schema/beans"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
   <!-- Spring容器会检测容器中所有Bean,如果发现某个Bean实现了BeanNameAware接口,
   Spring容器会在创建该Bean之后,自动调用该Bean的setBeanName()方法,
   调用该方法时,会将该Bean的配置id作为参数传给该方法
   该方法的实现部分将Spring传入的参数(Bean的配置id)赋为给该Chinese对象的
   beanName实例变量,因此接下来即可通过该beanName实例变量来访问Bean的配置id。-->
   <bean id="chinese" class="org.crazyit.app.service.Chinese"/>
</beans>

二 Bean

package org.crazyit.app.service;
import org.springframework.beans.factory.BeanNameAware;
public class Chinese implements BeanNameAware
{
   // 保存部署该Bean时指定的id属性
   private String beanName;
   public void setBeanName(String name)
   {
      this.beanName = name;
   }
   public void info()
   {
      System.out.println("Chinese实现类"
        + ", 部署该Bean时指定的id为" + beanName);
   }
}

三 测试类

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
import org.crazyit.app.service.*;
public class SpringTest
{
  public static void main(String[] args)
  {
    // 创建Spring容器,容器会自动预初始化所有Bean实例
    ApplicationContext ctx =
      new ClassPathXmlApplicationContext("beans.xml");
    Chinese chin = ctx.getBean("chinese" , Chinese.class);
    chin.info();
  }
}

四 测试结果

Chinese实现类, 部署该Bean时指定的id为chinese

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Spring Bean 依赖注入常见错误问题

    Spring Bean 依赖注入常见错误问题

    这篇文章主要介绍了Spring Bean 依赖注入常见错误问题,文中提到value的工作大体分为三个核心步骤,具体内容详情跟随小编一起看看吧
    2021-09-09
  • java代码获取数据库表里数据的总数操作

    java代码获取数据库表里数据的总数操作

    这篇文章主要介绍了java代码获取数据库表里数据的总数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 使用原生JDBC动态解析并获取表格列名和数据的方法

    使用原生JDBC动态解析并获取表格列名和数据的方法

    这篇文章主要介绍了使用原生JDBC动态解析并获取表格列名和数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • springboot多环境进行动态配置的方法

    springboot多环境进行动态配置的方法

    这篇文章主要介绍了springboot多环境下如何进行动态配置,本文主要分享了如何在springboot的项目中使用多环境配置,重点是”spring.profiles.active“属性,需要的朋友可以参考下
    2022-06-06
  • 图解Java经典算法插入排序的原理与实现

    图解Java经典算法插入排序的原理与实现

    插入排序的算法描述是一种简单直观的排序算法。其原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。本文将用Java语言实现插入排序算法并进行可视化,感兴趣的可以了解一下
    2022-09-09
  • Java基于zxing生成二维码矩阵过程解析

    Java基于zxing生成二维码矩阵过程解析

    这篇文章主要介绍了Java基于zxing生成二维码矩阵过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Spring Boot项目使用Flyway的详细教程

    Spring Boot项目使用Flyway的详细教程

    这篇文章主要介绍了Spring Boot项目使用Flyway,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java动态代理语法Proxy类原理详解

    Java动态代理语法Proxy类原理详解

    这篇文章主要介绍了Java动态代理语法Proxy类原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 从零开始使用IDEA创建SpringBoot项目(图文)

    从零开始使用IDEA创建SpringBoot项目(图文)

    这篇文章主要介绍了从零开始使用IDEA创建SpringBoot项目(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 浅谈Ribbon、Feign和OpenFeign的区别

    浅谈Ribbon、Feign和OpenFeign的区别

    这篇文章主要介绍了浅谈Ribbon、Feign和OpenFeign的区别。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论