spring中配置作用以及國際化配置

來源:互聯網
上載者:User

<aop:aspectj-autoproxy/>作用

通過配置織入@Aspectj切面

雖然可以通過編程的方式織入切面,但是一般情況下,我們還是使用spring的配置自動完成建立代理織入切面的工作。

通過aop命名空間的<aop:aspectj-autoproxy />聲明自動為spring容器中那些配置@aspectJ切面的bean建立代理,織入切面。當然,spring在內部依舊採用AnnotationAwareAspectJAutoProxyCreator進行自動代理的建立工作,但具體實現的細節已經被<aop:aspectj-autoproxy />隱藏起來了

<aop:aspectj-autoproxy/>有一個proxy-target-class屬性,預設為false,表示使用jdk動態代理織入增強,當配為<aop:aspectj-autoproxy poxy-target-class="true"/>時,表示使用CGLib動態代理技術織入增強。不過即使proxy-target-class設定為false,如果目標類沒有聲明介面,則spring將自動使用CGLib動態代理。

@AspectJ文法基礎

@AspectJ使用jdk5.0註解和正規則的AspectJ 5的切面運算式語言描述切面,由於spring只支援方法的連接點,所以spring僅支援部分aspectJ的切面語言,在這節時,我們將對AspectJ切點運算式語言進行必要的學習。

 

    <aop:aspectj-autoproxyproxy-target-class="true"/>

    <context:annotation-config/>

    <context:component-scanbase-package="com.wzh.**.**"></context:component-scan>



在Spring3.0中

在Spring3.0.5這個版本上,<mvc:annotation-driven/>聲明是沒有defaultAnnotationHandlerMapping這個屬性的,對於@ResultMapping標籤的解析,是寫死了必須用"org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping”這個類來處理的。

<mvc:annotation-driven />註解意義

<mvc:annotation-driven/> 是一種簡寫形式,完全可以手動設定替代這種簡寫形式,簡寫形式可以讓初學都快速應用預設配置方案。<mvc:annotation-driven /> 會自動註冊DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter兩個bean,是spring MVC為@Controllers分發請求所必須的。
並提供了:資料繫結支援,@NumberFormatannotation支援,@DateTimeFormat支援,@Valid支援,讀寫XML的支援(JAXB),讀寫JSON的支援(Jackson)。
後面,我們處理響應ajax請求時,就使用到了對json的支援。
後面,對action寫JUnit單元測試時,要從spring IOC容器中取DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter兩個bean,來完成測試,取的時候要知道是<mvc:annotation-driven/>這一句註冊的這兩個bean。


Spring的國際化配置

第一種:AcceptHeaderLocaleResolver

<bean id="localeResolver"class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver">       </bean>
預設的參數名為locale主意大小寫。裡面放的就是你的提交參數。如:en_US,zh_CN之類的,這個時候,你在頁面上加一句<a href="?locale=zh_CN">簡體中文</a>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.