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();
    }


阅读更多
文章标签: spring  java DI
个人分类: spring
上一篇Json in Java
下一篇spring中的属性注入(注解方式注入)
想对作者说点什么? 我来说一句

Spring属性注入

2014年04月12日 10KB 下载

Spring属性注入的两种方式

asdf

yezis yezis

2014-04-12 18:49:36

阅读数:3875

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

关闭
关闭