美文网首页
Spring setter方法注入和有参构造函数直接注入

Spring setter方法注入和有参构造函数直接注入

作者: 毛仑上保罗先生 | 来源:发表于2018-01-21 23:36 被阅读0次

一般分两大注入, setter注入和构造函数注入, 但是细分就不止两种

图片.png
<?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">
    <!--无参构造函数+setter方法注入值-->
    <bean class="Person" id="person">
        <property name="id">
            <value>1</value>
        </property>
        <property name="name" value="objectboy"/>
    </bean>
    <!--有参构造函数直接注入-->
    <bean id="User" class="User">
        <constructor-arg name="name" value="paul"/>
        <constructor-arg name="age" value="12"/>
    </bean>
</beans>
public class User {
    private String name;
    private int age;
    public  User(String name,int age){
        this.age=age;
        this.name=name;
    }
    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 String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"name\":\"")
                .append(name).append('\"');
        sb.append(",\"age\":")
                .append(age);
        sb.append('}');
        return sb.toString();
    }
}

public class Person {
    private String name;
    private Integer id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"name\":\"")
                .append(name).append('\"');
        sb.append(",\"id\":")
                .append(id);
        sb.append('}');
        return sb.toString();
    }
}

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

    public static void main(String[] args) {
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
        Person objPerson= (Person)applicationContext.getBean("person");
        System.out.println("Person="+ objPerson.toString());
        User objUser=(User)applicationContext.getBean("User");
        System.out.println("User="+ objUser.toString());
    }
}

相关文章

网友评论

      本文标题:Spring setter方法注入和有参构造函数直接注入

      本文链接:https://www.haomeiwen.com/subject/wtkcaxtx.html