Spring總結-----@Component,@Service,@Controller,@Repository

 

在一個稍大的項目中,通常會有上百個組件,如果這些組件採用xml的bean定義來配置,顯然會增加配置文件的體積,查找以及維護起來也不太方便。Spring2.5爲我們引入了組件自動掃描機制,他可以在類路徑底下尋找標註了@Component,@Service,@Controller,@Repository註解的類,並把這些類納入進spring容器中管理。它的作用和在xml文件中使用bean節點配置組件時一樣的。要使用自動掃描機制,我們需要打開以下配置信息: 

<?xml version="1.0" encoding="UTF-8" ?> 
 xsi:schemaLocation="http://www.springframework.org/schema/beans   
<context:component-scan base-package=”com.eric.spring”>  

</beans>    

其中base-package爲需要掃描的包(含所有子包)

 @Service用於標註業務層組件,

@Controller用於標註控制層組件(如struts中的action),

@Repository用於標註數據訪問組件,即DAO組件,

@Component泛指組件,當組件不好歸類的時候,我們可以使用這個註解進行標註。    

@Service 

public class VentorServiceImpl implements iVentorService {    

@Repository 

public class VentorDaoImpl implements iVentorDao {   

getBean的默認名稱是類名(頭字母小寫),

如果想自定義,可以@Service(“aaaaa”)這樣來指定,這

種bean默認是單例的,如果想改變,可以使用@Service(“beanName”) @Scope(“prototype”)來改變。

可以使用以下方式指定初始化方法和銷燬方法(方法名任意): 

@PostConstruct 

public void init() {   

}   

@PreDestroy 

public void destory() {   

}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章