自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring 3.0新增特性與功能前瞻

開發(fā) 后端
Spring 3.0版對(duì)Java5、模塊組織等方面做出了改進(jìn),并對(duì)Java EE 6和嵌入式數(shù)據(jù)庫等做出了很好的特性支持。

51CTO之前曾報(bào)道過Spring 3.0即將發(fā)布的消息,大家對(duì)Spring的新版期盼已經(jīng),畢竟Spring 2.0,發(fā)布于2006年10月,Spring 2.5,發(fā)布于2007年11月;如果你使用Srping進(jìn)行項(xiàng)目開發(fā),肯定對(duì)目前Srping的功能能否滿足你想買的需求提出過質(zhì)疑,并期望某些功能可以在Spring 3.0版得到改進(jìn)和支持.下面我們來看看Spring 3.0版的一些新增功能和特性.

Java SE與Java EE支持

現(xiàn)在的Spring Framework基于Java 5,并且完全支持Java 6。而且,它兼容J2EE 1.4及Java EE 5,同時(shí)還引入了一些對(duì)Java EE 6的早期支持。

1、Java 5

為了利用Java 5特性,例如泛型、可變參數(shù)和其他語言改進(jìn),整個(gè)框架的代碼都被修改過了。我們盡可能地保證代碼能夠向后兼容。我們現(xiàn)在一致使用的泛型Collection和Map,一致使用泛型FactoryBean,并且在Spring AOP API中有一致的橋接方法解析。泛型ApplicationListener只會(huì)自動(dòng)接收特定的事件類型。所有的回調(diào)接口,例如TransactionCallback和HibernateCallback,可以聲明泛型結(jié)果值了??偠灾?,Spring的核心代碼經(jīng)過了徹底的修改,并為Java 5做了優(yōu)化。

為了與Java 5的java.util.concurrent機(jī)制緊密結(jié)合,Spring的TaskExecutor抽象也被修改過了。我們?yōu)镃allable和Future提供了***的支持,還有ExecutorService適配器、ThreadFactory集成等等。這些特性都盡可能與JSR-236(Concurrency Utilities for Java EE 6)保持一致。此外,針對(duì)通過新的@Async注解(或者EJB 3.1的@Asynchronous注解)進(jìn)行異步方法調(diào)用,我們也提供了相應(yīng)的支持。

2、改進(jìn)的文檔

Spring的參考文檔也不斷被更新著,這樣它才能完整地反映Spring 3.0的變化和新特性。盡管我們進(jìn)了一切努力不在文檔中犯錯(cuò),但還是有些漏網(wǎng)之魚。如果你發(fā)現(xiàn)了一些拼寫錯(cuò)誤或者更嚴(yán)重的錯(cuò)誤,并能在午餐時(shí)擠出點(diǎn)時(shí)間的話,請(qǐng)將這些錯(cuò)誤告訴Spring團(tuán)隊(duì),提個(gè)事件 就可以了。

3、新的入門教程

現(xiàn)在有了一份新的開發(fā)基礎(chǔ)Spring 3.0 MVC Web應(yīng)用程序的教程。這個(gè)教程是一份獨(dú)立的文檔,你能在Spring Documentation 頁面中找到它。

注意:要到Spring 3.0正式發(fā)布時(shí)才能獲得該文檔。
 
4、新的模塊組織結(jié)構(gòu)和構(gòu)建系統(tǒng)

我們修改了框架的模塊,并用每個(gè)模塊jar一棵源碼樹的方式分別進(jìn)行管理:

• org.springframework.aop
• org.springframework.beans
• org.springframework.context
• org.springframework.context.support
• org.springframework.expression
• org.springframework.instrument

從Spring Web Flow 2.0開始,我們使用了新的Spring構(gòu)建系統(tǒng)。這給了我們:

◆基于Ivy的“Spring Build”系統(tǒng)

◆一致的部署過程

◆一致的依賴管理方式

◆一致的OSGi Manifest生成方式

5、新特性概述

以下是Spring 3.0新特性的列表,我們稍后會(huì)更詳細(xì)地介紹它們。

◆Spring Expression Language

◆IoC增強(qiáng) / 基于Java的Bean元數(shù)據(jù)

◆從Spring Web Services遷移過來的對(duì)象 / XML映射功能(OXM)

◆全面的REST支持

◆更多@MVC注解

◆聲明式模型驗(yàn)證

◆Java EE 6早期支持

◆嵌入式數(shù)據(jù)庫支持#p#

針對(duì)Java 5的核心API更新

BeanFactory接口會(huì)盡可能地返回確定類型的Bean實(shí)例:

◆T getBean(String name, Class requiredType)

◆Map getBeansOfType(Class type)

Spring的TaskExecutor接口現(xiàn)在擴(kuò)展了java.util.concurrent.Executor接口:

擴(kuò)展了的AsyncTaskExecutor支持帶Future的標(biāo)準(zhǔn)Callable

新的基于Java 5的轉(zhuǎn)換器API和SPI:

◆無狀態(tài)的ConversionService和Converter

◆取代標(biāo)準(zhǔn)JDK PropertyEditor

指定類型的ApplicationListener

Spring Expression Language

Spring引入了一種表達(dá)式語言,它在語法上很像Unified EL,但提供了更多功能。在定義XML和基于注解的Bean定義的時(shí)候,可以使用該表達(dá)式語言,此外,它也是Spring Portfolio中表達(dá)式語言支持的基礎(chǔ)。該功能的詳細(xì)信息請(qǐng)參考Spring Expression Language(SpEL)一章。

Spring Expression Language為Spring社區(qū)提供了一種能在所有Spring Portfolio產(chǎn)品中使用的、有良好支持的表達(dá)式語言。它的語言特性是由Spring Portfolio中項(xiàng)目的需求來驅(qū)動(dòng)的,其中也包含工具的需求,例如,在基于Eclipse的SpringSource Tool Suite中的代碼補(bǔ)全支持。

下面是一個(gè)例子,演示了如何用它來配置數(shù)據(jù)庫屬性。

  1. <bean class="mycompany.RewardsTestDatabase"> 
  2. <property name="databaseName" 
  3. value="#{systemProperties.databaseName}"/> 
  4. <property name="keyGenerator" 
  5. value="#{strategyBean.databaseKeyGenerator}"/> 
  6. bean> 

如果你更喜歡用注解來配置你的組件,該功能也同樣適用:

  1. @Repository    
  2. public class RewardsTestDatabase {     
  3. @Value("#{systemProperties.databaseName}")     
  4. public void setDatabaseName(String dbName) { … }     
  5. @Value("#{strategyBean.databaseKeyGenerator}")     
  6. public voidsetKeyGenerator(KeyGenerator kg) { … }     
  7. }    

控制反轉(zhuǎn)(Inversion of Control,IoC)容器

基于Java的Bean元數(shù)據(jù)

如今,Java Config項(xiàng)目中的一些核心特性已經(jīng)被添加到了Spring Framework項(xiàng)目中,這意味著現(xiàn)在Spring直接支持下面的這些注解了:

◆@Configuration

◆@Bean

◆@Primary

◆@Lazy

◆@Import

◆@Value

以下是一個(gè)Java類使用新JavaConfig特性提供基本配置的例子:

  1. @Configuration 
  2. public class AppConfig{  
  3. private @Value("#{jdbcProperties.url}") String jdbcUrl;  
  4. private @Value("#{jdbcProperties.username}") String username;  
  5. private @Value("#{jdbcProperties.password}") String password;  
  6.  
  7. @Bean 
  8. public FooService fooService() {  
  9. return new FooServiceImpl(fooRepository());  
  10. }  
  11.  
  12. @Bean 
  13. public FooRepository fooRepository() {  
  14. return new HibernateFooRepository(sessionFactory());  
  15. }  
  16.  
  17. @Bean 
  18. public SessionFactory sessionFactory() {  
  19. // wire up a session factory  
  20. AnnotationSessionFactoryBean asFactoryBean =  
  21. new AnnotationSessionFactoryBean();  
  22. asFactoryBean.setDataSource(dataSource());  
  23. // additional config  
  24. return asFactoryBean.getObject();  
  25. }  
  26.  
  27. @Bean 
  28. public DataSource dataSource() {  
  29. return new DriverManagerDataSource(jdbcUrl, username, password);  
  30. }  

要讓上面的代碼運(yùn)行起來,你需要將如下組件掃描配置加入應(yīng)用程序上下文XML文件中

  1. <context:component-scan 
  2. base-package="com.myco.config"/> 

#p#

在組件中定義Bean元數(shù)據(jù)

Spring組件中也同樣支持添加了@Bean注解的方法,它們?yōu)槿萜魈峁┝艘粋€(gè)工廠Bean。

數(shù)據(jù)層

對(duì)象 / XML映射功能(OXM)已經(jīng)從Spring Web Services項(xiàng)目遷移到核心Spring Framework中了,可以在org.springframework.oxm包中找到它。

Web層

Web層中最令人興奮的新特性莫過于對(duì)構(gòu)建RESTful Web服務(wù)和Web應(yīng)用程序的支持了。此外,還有一些用于Web應(yīng)用程序中的新注解。

全面的RESTful支持

通過對(duì)現(xiàn)有的注解驅(qū)動(dòng)MVC Web框架的擴(kuò)展,Spring Framework提供了構(gòu)建RESTful應(yīng)用程序的服務(wù)器端支持??蛻舳说闹С謩t由RestTemplate類提供,它和JdbcTemplate、JmsTemplate這些模板類非常類似。無論是服務(wù)器端還是客戶端的REST功能,都使用了HttpConverter來簡化對(duì)象與對(duì)應(yīng)的HTTP請(qǐng)求/應(yīng)答中的表述的轉(zhuǎn)換。

MarshallingHttpMessageConverter用到了之前提到的OXM功能。

更多@MVC注解

新增了幾個(gè)注解,例如@CookieValue和@RequestHeaders。詳見“使用@CookieValue注解映射Cookie值”和“用@RequestHeader注解映射請(qǐng)求頭屬性”。

聲明式模型驗(yàn)證

Hibernate Validator,JSR303

進(jìn)行中,未包括在Spring 3.0 M3中。

Java EE 6早期支持

我們提供了對(duì)使用@Async注解(或EJB 3.1的@Asynchronous注解)進(jìn)行異步方法調(diào)用的支持,還支持JSF 2.0、JPA 2.0等。

進(jìn)行中,未包括在Spring 3.0 M3中。

支持嵌入式數(shù)據(jù)庫

目前已經(jīng)提供了對(duì)嵌入式Java數(shù)據(jù)庫引擎的支持,包括HSQL、H2和Derby。

【編輯推薦】

  1. Spring 3.0即將發(fā)布 新增Spring表達(dá)式語言
  2. Spring 3.0 M3發(fā)布 強(qiáng)化對(duì)標(biāo)注的支持
  3. 專家Isvy談Spring 3.0
  4. 企業(yè)級(jí)Java云 SpringSource云工廠初探
  5. Spring實(shí)例化Bean的三種方式
責(zé)任編輯:佚名 來源: JavaEye
相關(guān)推薦

2009-06-17 16:21:43

Spring3.0新功

2010-01-15 19:48:39

BMCIT運(yùn)維BSM

2022-06-30 06:00:30

Edge瀏覽器

2018-06-06 14:30:38

Spring BootApplication事件

2012-07-10 10:08:32

紅帽RHEL 7

2022-11-08 15:44:36

Xfce

2020-04-27 09:21:25

Android谷歌功能

2009-06-22 16:59:33

POJOSpringEJB 3.0

2009-07-27 09:46:28

Silverlight

2011-07-27 16:12:35

Linux KerneLinux內(nèi)核

2010-09-29 14:08:31

2013-06-09 16:26:56

Windows 8.1

2009-08-27 16:24:48

擴(kuò)展方法C# 3.0新特性

2015-03-02 14:09:11

CrossApp更新

2009-09-18 15:53:37

C# 3.0新語言特性

2009-09-17 09:39:28

Chrome 3.0谷歌瀏覽器

2009-09-29 09:39:38

Spring 3.0

2013-11-19 10:59:18

企業(yè)郵箱XT3.0

2010-12-31 14:30:35

PowerShell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)