日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

学习SPRING在春天 - Learn Spring in spring(二)

發布時間:2023/12/29 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习SPRING在春天 - Learn Spring in spring(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二、spring管理對象的簡單例子


  任何需要交給spring管理的對象,都必須在配置文件中注冊,這個過程被稱為wiring,下面做一個最簡單的Hello world演示,我們將要注冊的類如下:

  • /*
  • * 創建日期 2005-3-22
  • */
  • package org.bromon.spring.test;
  • /**
  • * @author Bromon
  • */
  • public class HelloTalker
  • {
  • public String greeting()
  • {
  • return "hello world";
  • }
  • }
  • 字串2


      然后我們來編寫一個spring配置文件,文件名任意,在我這里它是springConfig.xml,需要注意的是這個文件應該存放在classpath所包含的路徑中:

  • "1.0" encoding="UTF-8"?>
  • "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
  •  class=" org.bromon.spring.test.HelloTalker">
  •  
  • ?

  •   通過使用bean標簽,注冊了一個HelloTalker對象,它的名字叫做helloTalker。然后我們編寫一個測試類,它的工作是利用spring框架提供的接口,加載配置文件,通過指定對象的id,獲得一個對象。它的代碼如下:

    字串6


  • /*
  • * 創建日期 2005-3-17
  • */
  • package org.bromon.spring.test.junit;
  • import java.io.FileInputStream;
  • import org.springframework.beans.factory.xml.XmlBeanFactory;
  • import org.springframework.context.ApplicationContext;
  • import org.springframework.context.support.ClassPathXmlApplicationContext;
  • import org.bromon.spring.test;
  • /**
  • * @author Bromon
  • */
  • public class TestStudentManager extends TestCase {
  • public void testHelloTalker()
  • {
  • try
  • {
  • ApplicationContext context =new ClassPathXmlApplicationContext("springConfig.xml");
  • HelloTalker ht=(HelloTalker)context.getBean("helloTalker");
  • System.out.println(ht.greeting());
  • }catch(Exception e)
  • {
  • e.printStackTrace();
  • }
  • }
  • }
  • 字串1


      這個程序就完成了,因為只有一個對象HelloTalker被注冊到了spring中,所以不存在對象間的依賴,當然也就不涉及依賴注入。下面演示一個簡單的依賴注入:

      第一步是修改HelloTalker,增加一個String name屬性:

  • public String name;


  •   為該屬性編寫set方法,該方法必須嚴格遵守javabean的命名規則:

  • public void setName(String name)
  • {
  •   this.name=name;
  • }
  • 字串9
      修改greeting方法:

  • public String greeting()
  • {
  •   return "hello "+name;
  • }

  •   如你所見,name屬性沒有初試化,因為它的值將在運行過程中被spring動態注射入。

      第二步,修改springConfig.xml中唯一的這個bean配置:

  • class=" org.bromon.spring.test.HelloTalker">
  •   bromon
  •  
  • ?
  • 字串8

      修改完成。我們將一個名字"bromon"寫死在springConfig.xml中,它會被動態的注入到HelloTalker的name屬性中,greeting方法將會把它打印出來。重新運行剛才的junit類,可以看到結果。

      我們只演示了如何注入一個最簡單的String,實際上我們可以注入任何值類型,也可以注入任何類的實例,也可以注入List、Map、 Properties。配置文件管理了所有的對象和對象間的關系,而對象則只負責執行自己的功能,他們的職責越少,藕合度越低,系統就越容易測試,管理維護也更容易。

      標簽還有很多屬性,用于指定對象如何被實例化,它也有很多子標簽用于配置對象的屬性,請大家參考相關的DTD和文檔,能夠很快的掌握。本系列文章不是spring手冊,spring的基礎知識請參考spring in action,足夠詳細準確。后面的章節更多的討論系統設計、開發的一些細節和高級特性。

    來自:http://www.javah.net/Spring/20070405/84.html

    總結

    以上是生活随笔為你收集整理的学习SPRING在春天 - Learn Spring in spring(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。