spring中的属性注入(XML方式注入)

1:属性注入:是指在创建对象的时候,向类里面的属性设置值

 

2:属性注入的三种方式:

    1:使用属性的set方式注入

    private String username;
    private String password;
    public void setUsername(String username) {
        this.username = username;
    }
    
    public void setPassword(String password) {
        this.password = password;
    }
    
    User user=new User();
    user.setUsername("zhangsan");

     2:有参数构造注入

   private String username;
    public User(String username){
        this.username=username;
    }
    
    User user=new User("lucy");

    3:使用接口注入

public interface Dao{
    public void delete(String name){};
}

public class DaoImp implements Dao{
   private String name;
    
    @Overrider
    public void delete(String name){
    this.name=name;
   }
}

但是!!在spring中只支持前面两种注入方式!!

  

3:Spring中进行属性注入

    1):使用构造器注入

public class ConstructorDI {
    private String username;
    public ConstructorDI(String username) {
        this.username = username;
    }
    public void test1(){
        System.out.println("有参构造方法注入属性"+username);
    }
}

  xml文件

    <bean id="demo" class="com.PropertyInspect.ConstructorDI">
        <constructor-arg name="username" value="zhangsan"></constructor-arg>
    </bean>

 

    单元测试  

 

    @Test
    public void constructorTest(){
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        ConstructorDI setdi=(ConstructorDI) context.getBean("demo");
        setdi.test1();
    }

    

    2):使用set方法进行注入   

public class Book {
    private String bookname;
    //set方法
    public void setBookname(String bookname) {
        this.bookname = bookname;
    }
    //测试方式
    public void demoBook(){
        System.out.println("通过set方法注入属性"+bookname);
    }
}

     xml文件配置

    <!--使用set方法注入属性-->
    <bean id="book" class="com.PropertyInspect.Book">
        <!--设置属性值-->
        <property name="bookname" value="c语言"></property>
    </bean>

  单元测试: 

    @Test
    public void setDi(){
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        Book book=(Book) context.getBean("book");
        book.demoBook();
    }

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页