久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

spring2中基于注釋的配置方式淺析

 KILLKISS 2010-04-14
注:annotation-based configuration是一把雙刃劍,,與xml-based configuration相比,,有利有弊,其中利弊不在本文討論的范圍內(nèi),,不再多說(shuō),僅提醒各位根據(jù)自身的需要謹(jǐn)慎選擇,。
使用Annotaion似乎成了時(shí)尚和趨勢(shì),,spring2.5提供了一些Annotation,使開(kāi)發(fā)者可以簡(jiǎn)化我們的配置文件,。本文簡(jiǎn)單闡述一下spring2.5中的Annotation是如何使用的,,不做深層次的研究。
一,、配置文件可以簡(jiǎn)化到什么程度,?
使用annotation以前,我們要在xml配置文件中配置每一個(gè)我們用spring管理的bean,,有十個(gè)要寫十個(gè),,有一百個(gè)要寫一百個(gè)......
使用annotation之后,,及至情況下,我們可以一個(gè)都bean都不寫,,那么我們的配置文件就要寫成下面的樣子:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www./schema/beans"
  xmlns:xsi="http://www./2001/XMLSchema-instance"
  xmlns:context="http://www./schema/context"
  xsi:schemaLocation="http://www./schema/beans
  [url]http://www./schema/beans/spring-beans-2.5.xsd[/url]
  [url]http://www./schema/context[/url]
  [url]http://www./schema/context/spring-context-2.5.xsd[/url]" default-autowire="byName" default-lazy-init="true">

  <context:annotation-config />
  <context:component-scan base-package="org.example">
  <context:include-filter type="regex" expression=".*Stub.*Repository"/>
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
  </context:component-scan>

</beans>
看看,,上面沒(méi)有一個(gè)<bean>標(biāo)簽吧!下面簡(jiǎn)單解釋一下下面的配置:
1) <beans>標(biāo)簽里面,,以前我們用DTD,,現(xiàn)在我們用的是XMLSchema-style,具體含義本文不講了(本文是“淺析”教程嘛)
2) <context:annotation-config />表示,,我們要使用Annotation-based的bean管理方式,。
3) <context:component-scan base-package="org.example">表示org.example包下的一些類使用Annotation-based的bean管理方式,換句話說(shuō)就是在這個(gè)包下的Annotation才會(huì)起作用,,其他包下的沒(méi)用,。
4) <context:include-filter和<context:exclude-filter就是用正則表達(dá)式來(lái)include和exclude指定包(就是org.example)想的一下bean。
二,、怎么什么聲明一個(gè)spring管理的bean,?怎么注入bean?
聲明:在bean上加注釋@Component,,例:
package org.example;
@Component("sampleBean")
public class SampleBean{
//......
}
注入:在field,,seter等上加注釋@Autowired,例:
package org.example;
public class SampleBeanInjection{
private SampleBean sampleBean;
@Autowired
public setSampleBean(SampleBean sampleBean){
//......
}
//......
}
如上的例子不是很恰當(dāng),,明眼人見(jiàn)諒,。
三、有哪些Annotation可用,?
在org.springframework.stereotype包下,,有用于聲明bean的Annotation:
Component
Controller
Repository
Service
在org.springframework.beans.factory.annotation包下,有用于注入bean的Annotation:
Autowired
Qualifier
Required
在JSR-250的規(guī)范中(即j2ee的javax.annotation包下),,有@Resource用來(lái)注入bean,,其功能與@Autowired相似。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多