聊一聊Spring常用的三种依赖注入(无参构造注入,有参构造注入,set方法注入)。

环境配置

java8,idea,spring5的jar包

无参构造注入

1.首先编写一个无参构造的类。

public class User {

    public void add(){
        System.out.println("add方法执行.......");
    }
}

2.xml文件配置
在这里插入图片描述

    <!--  配置User对象创建  此种方法是基于无参构造来创建对象 -->
    <bean id="user" class="com.jaoyang.spring_ioc_01.User"></bean>

3.方法测试

    @Test
    public void testAdd(){
        //1.加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置文件创建的对象
        User user = context.getBean("user", User.class);
        System.out.println(user);
        user.add();

    }

4.测试结果在这里插入图片描述

有参构造方法注入

1.创建一个有参构造类

public class Orders {

    private String name;
    private String address;

    public Orders(String name, String address) {
        this.name = name;
        this.address = address;
    }

    public void print_orders_data(){
        System.out.println("商品:" +  name + "------>>" + "地址:" + address);
    }

}

2.配置xml文件
在这里插入图片描述

    <!-- 有参构造注入 -->
    <bean id="orders" class="com.jaoyang.spring_ioc_01.Orders">
        <!-- 使用property完成属性的注入
                name: 类中的属性的名称
                value: 向属性注入值
          -->
        <constructor-arg name="name" value="苹果"></constructor-arg>
        <constructor-arg name="address" value="洛杉矶"></constructor-arg>
    </bean>

3.代码测试

    @Test
    public void testorders(){
        //1.加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置文件创建的对象
        Orders orders = context.getBean("orders", Orders.class);
        System.out.println(orders);
        orders.print_orders_data();

    }

结果展示

在这里插入图片描述

set方法注入

1.创建一个带set方法的类

public class Book {
    private String bookname;
    private String bookauthor;

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public void setBookauthor(String bookauthor) {
        this.bookauthor = bookauthor;
    }

    public void print_book_data(){
        System.out.println("作者:" + bookauthor + "----->" + "书名:" + bookname);
    }
}

2.配置xml文件
在这里插入图片描述

    <!-- set方法注入
            1.先配置创建对象
    -->
    <bean id="book" class="com.jaoyang.spring_ioc_01.Book">
        <!-- 使用property完成属性的注入
                name: 类中的属性的名称
                value: 向属性注入值
          -->
        <property name="bookauthor" value="余华"></property>
        <property name="bookname" value="《在细雨中的呐喊》"></property>
    </bean>

3.代码测试

    @Test
    public void testbook(){
        //1.加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置文件创建的对象
        Book book = context.getBean("book", Book.class);
        System.out.println(book);
        book.print_book_data();

    }

4.结果测试
在这里插入图片描述


版权声明:本文为qq_47699076原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。