zoukankan      html  css  js  c++  java
  • Spring配置中的bean直接引用其它bean的属性值

    pring配置中的bean直接引用其它bean的属性值来赋值给当前bean的属性,也可以直接调用其它bean的方法获取返回值来赋值给当前bean的属性,并且可以进行参数传递,这样可以省去在bean中注入需要获取属性值的bean。

    以下是一个完整的示例:

    1、需要JAVA类:

    Spring配置中的bean直接引用其它bean的属性值
    
    package com.service.test;
    public class Bean1 {
    	int v1 = 1;
    	public int getV1() {
    		return v1;
    	}
    	public void setV1(int v1) {
    		this.v1 = v1;
    	}
    	public int getTestValue(int v1) {
    		return v1;
    	}
    	public String getTestValue2(String str) {
    		return str;
    	}	
    }
    
    package com.service.test;
    public class Bean2 {
    	int v1;
    	int v2;
    	int v3;
    	String v4Str;
    	public int getV1() {
    		return v1;
    	}
    	public void setV1(int v1) {
    		this.v1 = v1;
    	}
    	public int getV2() {
    		return v2;
    	}
    	public void setV2(int v2) {
    		this.v2 = v2;
    	}	
    	public int getV3() {
    		return v3;
    	}
    	public void setV3(int v3) {
    		this.v3 = v3;
    	}
    	public String getV4Str() {
    		return v4Str;
    	}
    	public void setV4Str(String str) {
    		v4Str = str;
    	}	
    }
    package com.service.test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class Test {
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		ApplicationContext context = new ClassPathXmlApplicationContext("testBean.xml");
    		Bean2 bean2 = (Bean2)context.getBean("bean2");
    		System.out.println(bean2.getV1());
    		System.out.println(bean2.getV2());
    		System.out.println(bean2.getV3());
    		System.out.println(bean2.getV4Str());
    	}
    }

    2、需要XML配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans
    	xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="
    		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
    			
    	<bean id="bean1" class="com.service.test.Bean1">
    	</bean>
    	<bean id="bean2" class="com.service.test.Bean2">
    		<property name="v1" value="#{bean1.v1}"/>
    		<property name="v2" value="#{bean1.getV1()}"/>
    		<property name="v3" value="#{bean1.getTestValue(3)}"/>
    		<property name="v4Str" value="#{'Hello '+bean1.getTestValue2('baby')}"/>
    	</bean>
    </beans>


    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    Log4net源码分析(一)
    找不到具有绑定 WSHttpBinding 的终结点的与方案 http 匹配的基址。注册的基址方案是 []。
    C#线程锁使用全功略
    C#泛型版的超级优化的快速排序算法和插入排序、二分查找算法
    用WM_COPYDATA实现进程通信
    构建插件式的应用程序框架(二)-订立契约
    Ajax网站安全,谁来保证
    构建插件式的应用程序框架(三)-动态加载
    构建插件式的应用程序框架(八)-视图服务的简单实现
    插件架构学习体会(一) 宿主程序说:插件你得听我的
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10342040.html
Copyright © 2011-2022 走看看