Eric Evans 將在 @SpringOne 演講!

工程 | Steven Schuurman | 2007年6月06日 | ...

再次行動 自從首次討論舉辦一個專注於不斷成長的 Spring 社群的歐洲會議的想法以來,已經過了兩年多。 在 JavaPolis 2005 上宣布第一屆 (2006) SpringOne 後,有超過 400 人報名參加會議 - 比我們預期的多 20% 以上。 SpringOne 2006 取得了巨大的成功。

由於我們在 2006 年版之後收到了大量的正面回饋,許多與會者對 Spring 和企業 Java 的強烈關注給予了非常積極的反應,因此我們在大約 7 個月前決定組織 2007 年版。 這…

更多關於 Java Configuration

工程 | Costin Leau | 2007年6月05日 | ...

正如你們大多數人現在已經知道的那樣,Spring 不僅僅是 XML,因為最近,核心的一些「官方」擴展提供了配置容器的替代方法。

Spring Java Configuration 1.0 M2 是 發布的 JavaOne 附近 的產品之一,雖然仍然標記為里程碑版本,但進行了大量的更新和錯誤修復

  • 根包已更改為 org.springframework.config.java
  • <li>scoped beans are fully supported</li>
    
    <li>the bean name generation can be customized</li>
    
    <li>the distribution contains a 'transformed' sample (petclinic) which uses XML, JavaConfig and Groovy.</li>
    

事實上,1.0 M2 的大部分工作都是整合了 收到的對初始公告的回饋…

Spring:簡單,而非過於簡化...

工程 | Alef Arendsen | 2007年6月05日 | ...

在上週的培訓中,我第一次使用了 Spring Web Services 的第一個 Release Candidate。 自從 Arjen 發布他寶貝的 RC1 以來還不到兩週,所以很高興向一些與會者展示這個新產品。

在 Web Services 部分之前,我們做了一些 JMX 和 Remoting,展示了 Spring 的導出器功能。 你可能知道,這允許你將任何 Spring 管理的 Bean 導出到遠端端點或 JMX 註冊表中,只需少量宣告式配置


<bean id="myService" class="com.mycompany.MyServiceImpl">
    <property name…

Spring 2.1-m2 中的基礎設施變更

工程 | Ben Hale | 2007年6月01日 | ...

隨著 Spring 2.1-m2 的發布,Spring 發布版的基礎架構發生了一些重大變更。 請參閱 公告變更日誌 以取得完整的變更清單。

發布

發布版已從 2.1-m1 中的 26 個 JAR 修剪到 2.1-m2 中的 17 個 JAR。 查看 變更日誌 以取得已變更檔案的清單,但從提交訊息中,以下是新增內容
  • spring-context.jar 包含 JMX 支援和核心 Remoting 支援 (不再有 spring-jmx 和 spring-remoting jar)
  • spring-orm.jar 結合了所有 ORM 支援套件 (取代 spring-hibernate、spring-ibatis、spring-jdo、spring-jpa 和 spring-toplink jar)
  • spring-web.jar 包含 Web 相關的 Remoting 和 ORM 類別 (以便在 J2EE EAR 部署結構中正確使用)
  • 將 spring-dao.jar 重新命名為 spring-tx.jar,現在也包含 JCA 支援
  • 將 spring-support.jar 重新命名為 spring-context-support.jar
  • 將 spring-portlet.jar 重新命名為 spring-webmvc-portlet.jar
  • 模組 JAR 檔案現在包含模組特定的 "spring.handlers" 和 "spring.schemas" 檔案

Maven Artifacts

我也很高興地宣布,從 2.1-m2 版本開始,每個 Spring 模組現在都會在 Maven 儲存庫中提供原始碼 JAR。 2.1-m2 Maven Artifacts 目前位於私有快照儲存庫中,但最終版本將位於主要的 Maven 儲存庫中。 如果你想開始在你的 Maven 專案中使用 2.1-m2,請將儲存庫位置添加到你的 POM 中,指向 https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots/。 如果你使用任何 Maven IDE 支援,也請下載原始碼 JAR,並在我們的 JIRA 上開啟任何問題。

在 Spring 2.1 中自訂註解配置和元件偵測

工程 | Mark Fisher | 2007年5月29日 | ...

注意:此文章已於 2007 年 5 月 31 日更新,以反映 2.1-M2 官方版本的狀態

兩週前,我 發表了 關於 Spring 2.1 的新註解驅動的依賴注入功能的部落格,我提到我將在本週稍後提供更多資訊。 結果有點樂觀,但好消息是此功能在此期間有了很大的發展。 因此,為了遵循此處的範例,你需要下載 2.1-M2 官方版本 (或者,如果你是第一個閱讀此更新條目的人之一,並且 M2 尚未發布,則應至少抓取 nightly build #115,你可以從 這裡 下載)。

我想展示的第一件事是如何在不使用任何 XML 的情況下建立應用程式上下文。 對於那些使用過 Spring 的 BeanDefinitionReader 實作的人來說,這看起來會非常熟悉。 但是,在建立上下文之前,我們需要在類別路徑上準備一些「候選」Bean。 繼續我之前部落格中的範例,我有以下兩個介面


public interface GreetingService {
	String greet(String name);
}

public interface MessageRepository {
	String getMessage(String language);
}

...以及這些對應的實作


@Component
public class GreetingServiceImpl implements GreetingService {

	@Autowired
	private MessageRepository messageRepository;
	
	public String greet(String name) {
		Locale locale = Locale.getDefault();
		if (messageRepository == null) {
			return "Sorry, no messages";
		}
		String message = messageRepository.getMessage(locale.getDisplayLanguage());
		return message + " " + name;
	}
}

@Repository…

會議季節正在為 SpringOne 做準備!

工程 | Rod Johnson | 2007年5月28日 | ...

我已經有一段時間沒有時間寫部落格了。 我們一直很忙。 我們 籌集了 1000 萬美元。 正如 Adrian 指出的那樣,我們一直在積極開發產品。 在過去的幾個月裡,我自己寫的程式碼比平常多。 (主要是一些實驗性的東西,可能不會面世,但很有趣,有時我會做一些有用的東西。) 我花了很多時間與媒體和分析師交談; 這些天我們受到了媒體的極大關注。 媒體/分析師電話可能會讓人感到疲倦,但也可以很有價值,因為這些人中的許多人都很聰明,並且會提出發人深省的問題……

Spring Portfolio 中的新版本

工程 | Adrian Colyer | 2007年5月25日 | ...

去年年底,我們開始談論 Spring「發布列車」的概念。 發布列車背後的想法是,我們發布 Spring Portfolio 中產品的協調版本:一起測試並一起工作。 你仍然可以選擇你需要的片段,但是當你想一起使用各種產品時,會更容易。 我們還沒到那一步,但我們正在努力。

Interface21 面臨的一個挑戰是,對我們的支援服務、培訓和諮詢的需求非常高,我們一直在努力讓每個人都全力以赴以滿足需求。 這使得我們很難獲得一致且可預測的產品開發時間,我們需要完成像發布列車這樣的事情。 這只是我對 Benchmark Capital 最近對 Interface21 進行 1000 萬美元投資的消息感到興奮的眾多原因之一 (新聞稿

Spring Web Flow Java One 2007 Demo

工程 | Keith Donald | 2007年5月18日 | ...

當 Sun 將我在 Spring Web Flow 上的 JavaOne 2007 會議安排在會議的最後一天,也就是星期五時,我不知道會發生什麼。 我很榮幸今年再次被接受,但我不知道在為期 4 天的會議的最後一天發表演講時,我會看到多少人參加。

我對事情的發展感到非常滿意。 當我在星期四的演講者設定中辦理登機手續時,已有 800 人預先註冊了我在星期五的會議。 在我的演講開始前 15 分鐘,房間已經達到了這個數字。 最後,有 1000 名 JavaOne 與會者來到了 307-310 號房間……

Spring 2.1 中的註解驅動的依賴注入

工程 | Mark Fisher | 2007年5月14日 | ...

Spring 2.0 引入了註解支援和註解感知配置選項,Spring 使用者在使用 Java 5 (或更高版本) 開發時可以利用這些選項

@Transactional 用於劃分和配置事務定義
@Aspect (AspectJ) 用於定義方面以及 @Pointcut 定義和通知 (@Before、@After、@Around)
@Repository 用於指示作為儲存庫 (又名資料存取物件或 DAO) 運作的類別
@Required 用於強制執行為帶有註解的 Bean 屬性提供值

在 Spring 2.1 中,這種註解驅動的配置主題已得到顯著擴展,並且隨著我們向 RC1 版本的發展,它將繼續發展。 事實上,現在可以透過註解來驅動 Spring 的依賴注入。 此外,Spring 可以發現需要在應用程式上下文中配置的 Bean。

此部落格文章將作為對基本功能的教學式介紹,共 10 個易於遵循的步驟。 我將在本週稍後跟進一些更進階的功能和自訂選項的資訊。 如果你對替代配置選項感興趣,你還應該查看 Spring Java Configuration 專案和 此部落格

本教學課程至少需要 Java 5,建議使用 Java 6 (否則,在步驟 1 的結尾處有一個單獨的要求)。

步驟 1

抓取 spring-framework-2.1-m1-with-dependencies.zip。 解壓縮封存檔案後,你將在 'dist' 目錄中找到 spring.jar 和 spring-mock.jar。 將它們以及以下檔案添加到你的 CLASSPATH (顯示的路徑相對於解壓縮的 2.1-m1 封存檔案的 'lib' 目錄)

  • asm/asm-2.2.3.jar
  • asm/asm-commons-2.2.3.jar
  • aspectj/aspectjweaver.jar
  • hsqldb/hsqldb.jar
  • jakarta-commons/commons-logging.jar
  • log4j/log4j-1.2.14.jar
(注意:如果你不是在 Java 6 上執行,你還需要新增 j2ee/common-annotations.jar)

步驟 2

提供範例的介面和類別。 我試圖盡可能地保持簡單,但仍能展示主要功能。 我將所有程式碼和配置都包含在一個「部落格」套件中。 我建議遵循相同的準則,以便範例按原樣工作; 否則,請務必進行必要的修改。 首先,是 GreetingService 介面

public interface GreetingService {
    String greet(String name);
}

然後,是一個簡單的實作


public class GreetingServiceImpl implements GreetingService {
    private MessageRepository messageRepository;

    public void setMessageRepository(MessageRepository messageRepository) {
        this.messageRepository = messageRepository;
    }

    public String greet(String name) {
        Locale locale = Locale.getDefault();
        String message = messageRepository.getMessage(locale.getDisplayLanguage());
        return message + " " + name;
    }
}

由於服務依賴於 MessageRepository,因此定義…

Spring Web Flow Bean Scopes 和 JSF

工程 | Ben Hale | 2007年5月08日 | ...

我最近完成了 Spring Web Flow 中一個有趣的問題。 這個問題 (SWF-163) 涉及為 Spring Web Flow 的內部範圍新增 Spring 2.0 Bean 範圍支援。 這個實作實際上沒有那麼有趣 (畢竟,Scope 介面很容易實作),但我想確切地說明如何在你的應用程式中使用它。

Spring 2.0 Scope 作用域

在 Spring 1.x 中,我們有 singleton(單例)和 prototype(原型) bean scope 的概念,但其表示法是固定的,而且使用 singleton="[true | false]" 並不夠清楚。因此,在 Spring 2.0 中,這種表示法已從 XSD 樣式的配置中移除,現在您會看到使用 scope="[singleton | prototype | ...]" 更明確的表示法。Spring 本身增加了三個 bean scope:requestsessionglobalSession,這些都與 Web 應用程式相關。

透過 Spring Web Flow 1.1 的最新快照,我們現在看到了針對三個主要的 Web Flow scope 的 bean scope:flashflowconversation


<bean id="sale" class="org.springframework.webflow.samples.sellitem.Sale…

取得 Spring 電子報

隨時關注 Spring 電子報

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進程。

了解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部