zoukankan      html  css  js  c++  java
  • Java乔晓松spring构造函数的注入以及null的注入

    spring构造函数的注入

    spring最原始的构造函数的注入方式是:

    <bean id="employee" class="www.csdn.spring.cust.Employee">
    		<constructor-arg value="qiao" />
    		<constructor-arg value="20" />
    		<constructor-arg ref="dept" />
    		<constructor-arg value="nv" />
    	</bean>


    下面的是常用的spring构造函数的注入方式

    1、根据构造器参数的类型

    <bean id="employee" class="www.csdn.spring.cust.Employee">
    		<constructor-arg type="java.lang.String" value="qiao" />
    		<constructor-arg type="java.lang.Integer" value="20" />
    		<constructor-arg type="www.csdn.spring.cust.Dept" ref="dept" />
    		<constructor-arg type="java.lang.String" value="nv" />
    	</bean>


    2、根据索引index注入

    <bean id="employee" class="www.csdn.spring.cust.Employee">
    		<constructor-arg index="0" value="qiao" />
    		<constructor-arg index="1" value="20" />
    		<constructor-arg index="2" ref="dept" />
    		<constructor-arg index="3" value="nv" />
    	</bean>


    3、根据参数的名称注入

    <bean id="employee" class="www.csdn.spring.cust.Employee">
    		<constructor-arg name="name" value="qiao" />
    		<constructor-arg name="age" value="20" />
    		<constructor-arg name="dept" ref="dept" />
    		<constructor-arg name="sex" value="nv" />
    	</bean>



    下面是我定义的2个类

    Dept.java


    package www.csdn.spring.cust;
    
    public class Dept {
    
    	public String num;
    	public String name;
    
    	public void setNum(String num) {
    		this.num = num;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	@Override
    	public String toString() {
    		return "Dept [num=" + num + ", name=" + name + "]";
    	}
    
    }
    

    Employee.java

    package www.csdn.spring.cust;
    
    public class Employee {
    
    	public String name;
    	public Integer age;
    	public Dept dept;
    	public String sex;
    
    	public Employee(String name, Integer age, Dept dept, String sex) {
    		super();
    		this.name = name;
    		this.age = age;
    		this.dept = dept;
    		this.sex = sex;
    	}
    
    	@Override
    	public String toString() {
    		return "Member [name=" + name + ", age=" + age + ", dept=" + dept
    				+ ", sex=" + sex + "]";
    	}
    
    }
    


    spring.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.xsd">
    
    	<!-- <bean id="employee" class="www.csdn.spring.cust.Employee"> <constructor-arg 
    		value="qiao" /> <constructor-arg value="20" /> <constructor-arg ref="dept" 
    		/> <constructor-arg value="nv" /> </bean> -->
    	<!-- <bean id="employee" class="www.csdn.spring.cust.Employee"> <constructor-arg 
    		type="java.lang.String" value="qiao" /> <constructor-arg type="java.lang.Integer" 
    		value="20" /> <constructor-arg type="www.csdn.spring.cust.Dept" ref="dept" 
    		/> <constructor-arg type="java.lang.String" value="nv" /> </bean> -->
    
    	<!-- <bean id="employee" class="www.csdn.spring.cust.Employee"> <constructor-arg 
    		index="0" value="qiao" /> <constructor-arg index="1" value="20" /> <constructor-arg 
    		index="2" ref="dept" /> <constructor-arg index="3" value="nv" /> </bean> -->
    	<bean id="employee" class="www.csdn.spring.cust.Employee">
    		<constructor-arg name="name" value="qiao" />
    		<constructor-arg name="age" value="20" />
    		<constructor-arg name="dept" ref="dept" />
    		<constructor-arg name="sex" value="nv" />
    	</bean>
    
    	<bean id="dept" class="www.csdn.spring.cust.Dept">
    		<property name="num" value="xx001" />
    		<property name="name" value="教育部" />
    	</bean>
    </beans>
    


    spring中null值的注入

    <?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.xsd">
    
    	<bean id="employee" class="www.csdn.spring.cust.Employee">
    		<!-- value="null" null是字符串 -->
    		<property name="name">
    			<null />
    		</property>
    		<property name="dept">
    			<null />
    		</property>
    	</bean>
    
    </beans>






  • 相关阅读:
    css盒模型不同浏览器下解释不同 解决办法
    【META http-equiv="Content-Type" Content="text/html; Charset=*】意义详解
    淘宝2015年秋招在线笔试题
    mouseleave mouseout时候悬浮框不应该消失的时候消失了 css 解决办法
    ACM知识点分类
    2019牛客多校第九场 B.Quadratic equation
    扫描线算法
    可持久化数据结构(模板)
    luogu SP3267 DQUERY
    luogu2633 Count on a tree(树上LCA+主席树求区间第k小)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3042347.html
Copyright © 2011-2022 走看看