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