Spring的三种注入方式

来源:互联网 发布:ca检测网络检测未通过 编辑:程序博客网 时间:2024/06/05 08:24

Spring 的三种注入方式

最近在学习Spring,自己实现一下Spring的三种注入方式,我是一个初学者,还有很多东西不懂,希望能和大家做朋友,让我们一起学习,向IT业界的前辈们好好学习。下面我就将的我代码写进来。对于Spring的三种方式介绍,我这里就不多说了,百度里面有太多了。
/*方式一、二:构造器注入和set注入*/
package web2017_team4_linyi.OrderWarehouse;
//订单类
public class Indent {
     private String str;
     //默认构造函数
     public Indent() {

     }
     //用来进行构造器注入的构造方法
     public Indent(String str){
          this.str = str;
     }
     //用来进行set注入的方法
     public void setStr(String str){
          this.str=str;
     }
     //用来保存订单的方法,输出一句话
     public void SaveIndent1(){
          System.out.println(str+"订单已入库!");
     }
}
/*这是测试类*/
public class JunitTest {
 @Test
 public void test1(){
       ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
       Indent indent = (Indent) context.getBean("indent",Indent.class);
       indent.SaveIndent1();
 }
/*这是applicationContext.xml*/
注意:伙伴们写的时候不要忘记写<beans></beans>,我待会以图片的形式给大家展示,以及运行结果。
<!-- 使用构造器进行注入 -->
 <bean id="indent" class="web2017_team4_linyi.OrderWarehouse.Indent"
       abstract="false" lazy-init="default" autowire="default">
     <property name="str">
         <value type="java.lang.String">花露水</value>
     </property>
 </bean>
<!-- 使用set方法进行注入 -->
    <bean id="indent" class="web2017_team4_linyi.OrderWarehouse.Indent"
       abstract="false" lazy-init="default" autowire="default">
        <property name="str">
         <value type="java.lang.String">洁面乳</value>
     </property>
  </bean>
/*第三种方式:接口注入*/
package web2017_team4_linyi.OrderWarehouse;
//创建一个仓库接口,有保存订单的方法
public interface Warehouse {
     public void SaveIndent(String str);
}

package web2017_team4_linyi.OrderWarehouse;
       public class Buy implements Warehouse{
       private Warehouse w;
       public void setW(Warehouse w) {
            this.w = w;
       }
       public void SaveIndent(String str) {
            System.out.println(str+"订单已入库");
       }
}
/*测试方法,和上面的测试方法同在一个类里*/
@Test
 public void test2() {
       Buy buy = new Buy();
       buy.SaveIndent("板蓝根");
 }
以上就是所有的代码了。运行结果我以图片展示。第一次写文章,有很多不足和缺点,希望大家多多指正,谢谢各位。
 
    
原创粉丝点击