快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Spring实战之容器中的工程Bean用法示例

本文实例讲述了Spring容器中的工程Bean用法。分享给大家供大家参考,具体如下:

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联建站为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都网站设计、成都网站建设负责任的成都网站制作公司!

一 配置

<?xml version="1.0" encoding="GBK"?>

   
   
      
      
   
   
   
      
      
   


二 Bean工厂

package org.crazyit.app.factory;
import java.lang.reflect.*;
import org.springframework.beans.factory.FactoryBean;
public class GetFieldFactoryBean implements FactoryBean
{
  private String targetClass;
  private String targetField;
  // targetClass的setter方法
  public void setTargetClass(String targetClass)
  {
    this.targetClass = targetClass;
  }
  // targetField的setter方法
  public void setTargetField(String targetField)
  {
    this.targetField = targetField;
  }
  // 返回工厂Bean所生产的产品
  public Object getObject() throws Exception
  {
    Class<?> clazz = Class.forName(targetClass);
    Field field = clazz.getField(targetField);
    return field.get(null);
  }
  // 获取工厂Bean所生产的产品的类型
  public Class<? extends Object> getObjectType()
  {
    return Object.class;
  }
  // 返回该工厂Bean所生成的产品是否为单例
  public boolean isSingleton()
  {
    return false;
  }
}

三 测试类

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
public class SpringTest
{
  public static void main(String[] args)throws Exception
  {
    ApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    // 下面2行代码获取的FactoryBean的产品
    System.out.println(ctx.getBean("north"));
    System.out.println(ctx.getBean("theValue"));
    // 下面代码可获取的FactoryBean本身
    System.out.println(ctx.getBean("&theValue"));
  }
}

四 测试结果

North
1005
org.crazyit.app.factory.GetFieldFactoryBean@56ac3a89

五 说明

java.awt.BorderLayout定义如下

public class BorderLayout implements LayoutManager2,
                   java.io.Serializable {
  /**
   * The north layout constraint (top of container).
   */
  public static final String NORTH = "North";
}

java.sql.ResultSet定义如下

public interface ResultSet extends Wrapper, AutoCloseable {
  int TYPE_SCROLL_SENSITIVE = 1005;
}

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

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


文章标题:Spring实战之容器中的工程Bean用法示例
转载来于:http://6mz.cn/article/pejcph.html