spring bean

1.类库

2构造注入

<?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.0.xsd">
    <!-- -->
    <bean id="student" class="com.lzp.bean.Student" init-method="before"
        destroy-method="afert">
        <constructor-arg value="15" />
        <constructor-arg ref="book"></constructor-arg>
    </bean>
    <bean id="student2" class="com.lzp.bean.Student">

        <constructor-arg ref="book"></constructor-arg>
    </bean>
    <bean id="book" class="com.lzp.bean.Book">
        <constructor-arg value="语文"></constructor-arg>
    </bean>

    <bean id="stage" class="com.lzp.bean.Stage" factory-method="getInstance">
    </bean>

</beans>

3.属性注入

person类

package com.lzp.bean;

public interface Person {
    public void speak();
    public String getName();
}

account类

public class Account implements Person{

    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public void speak() {
        // TODO Auto-generated method stub
    }
}

contract类

public interface Contract {
    public void print();
}

xdContract类

public class XDContract implements Contract{
    
    
    
    private Person person;
     
    public Person getPerson() {
        return person;
    }
    public void setPerson(Person person) {
        this.person = person;
    }
    private double totalLoan;
     
    public double getTotalLoan() {
        return totalLoan;
    }
    public void setTotalLoan(double totalLoan) {
        this.totalLoan = totalLoan;
    }
    
    private List<Repay> repayList;
    
    
    public List<Repay> getRepayList() {
        return repayList;
    }
    public void setRepayList(List<Repay> repayList) {
        this.repayList = repayList;
    }
    @Override
    public void print() {
        // TODO Auto-generated method stub
        System.out.println(person.getName()+"贷款金额为"+totalLoan);
        for (Repay repay : repayList) {
            System.out.println(repay.getMonth()+"月,应该还款金额为"+repay.getRepayTotal());
            
        }
    }
    
}

 repay类

public class Repay {
    private int month;
    private double repayTotal;
    public int getMonth() {
        return month;
    }
    public void setMonth(int month) {
        this.month = month;
    }
    public double getRepayTotal() {
        return repayTotal;
    }
    public void setRepayTotal(double repayTotal) {
        this.repayTotal = repayTotal;
    }
}

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.0.xsd">
    <!-- -->
    <bean id="contract" class="com.lzp.bean.XDContract">
        <property name="person" ref="person" />
        <property name="totalLoan" value="100000.00"></property>
        <property name="repayList">
            <list>
                <ref bean="repayOne" />
                <ref bean="repayTwo" />
            </list>
        </property>
    </bean>

    <bean id="person" class="com.lzp.bean.Account">
        <property value="张三" name="name"></property>
    </bean>

    <bean id="repayOne" class="com.lzp.bean.Repay">
        <property name="month" value="1"></property>
        <property name="repayTotal" value="60000"></property>
    </bean>
    <bean id="repayTwo" class="com.lzp.bean.Repay">
        <property name="month" value="2"></property>
        <property name="repayTotal" value="70000"></property>
    </bean>
</beans>

测试代码

@Test
	public void testProperty() {
		ApplicationContext context = new ClassPathXmlApplicationContext(
				"contract.xml");
		Contract contract = (Contract) context.getBean("contract");
		contract.print();
	}

  

原文地址:https://www.cnblogs.com/lzhp/p/5553162.html