8、DI依赖注入环境

概念

  • 依赖注入(Dependency Injection,DI)。
  • 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .
  • 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .

构造器注入

我们在之前的案例已经讲过了

 

Set 注入 (重点)

要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is .

 

8、DI依赖注入环境

 

测试pojo类 :

Address.java

 public class Address { 

     private String address;

     public String getAddress() {

         return address;

    } 

     public void setAddress(String address) {

         this.address = address;

    }

 }

8、DI依赖注入环境

 

Student.java

 package com.kuang.pojo;

 import java.util.List;

 import java.util.Map;

 import java.util.Properties;

 import java.util.Set;

 public class Student {

     private String name;

     private Address address;

     private String[] books;

     private List<String> hobbys;

     private Map<String,String> card;

     private Set<String> games;

     private String wife;

     private Properties info;

     public void setName(String name) {

         this.name = name;

    } 

     public void setAddress(Address address) {

         this.address = address;

    } 

     public void setBooks(String[] books) {

         this.books = books;

    }

     public void setHobbys(List<String> hobbys) {

         this.hobbys = hobbys;

    }

     public void setCard(Map<StringString> card) {

         this.card = card;

    } 

     public void setGames(Set<String> games) {

         this.games = games;

    }

     public void setWife(String wife) {

         this.wife = wife;

    } 

     public void setInfo(Properties info) {

         this.info = info;

    } 

     public void show(){

         System.out.println("name="+ name

                 + ",address="+ address.getAddress()

                 + ",books="

        );

         for (String book:books){

             System.out.print("<<"+book+">>\t");

        }

         System.out.println("\n爱好:"+hobbys);

         System.out.println("card:"+card);

          System.out.println("games:"+games); 

         System.out.println("wife:"+wife); 

         System.out.println("info:"+info); 

    }

 }

8、DI依赖注入环境

 

1、常量注入

 <bean id="student" class="com.kuang.pojo.Student">

     <property name="name" value="小明"/>

 </bean>

8、DI依赖注入环境

 

测试:

 @Test

 public void test01(){

     ApplicationContext context = newClassPathXmlApplicationContext("applicationContext.xml");

     Student student = (Studentcontext.getBean("student");

     System.out.println(student.getName());

 }

8、DI依赖注入环境

 

8、DI依赖注入环境