spring学习(23):基础组件
Spring中的Component是一個通用注解,可用于任何bean對象,還可以細分為:@Repository、@Service、@Controller,分別對應于DAO類(持久層)、Service類(服務層)、Controller(控制層),這三個跟@Component作用是一樣的,只是細分了一下。在使用MVC模型時,可以根據需要給相關bean對象設置不同的注解。
?????? @ComponentScan是用來掃描組件的,即掃描哪些是bean對象,說點大白話就是掃描哪些bean使用了@Component。一般來說,@ComponentScan會單獨寫一個配置文件(類配置文件添加注解@Configuration,加載時使用@ContextConfiguration(classes=配置文件類名.class)),放在單獨的一個包類,而@ComponentScan掃描的時候,默認只掃描@ComponentScan類所在的包及其子包里面的bean對象(即類),為了能掃描到其它包里面的bean,有以下四種辦法:
①@ComponentScan("類1,類2......")
②@ComponentScan(basePackages={"類1","類2"......}),這種設置方式里面是放的字符串數組,如果需要重構項目(比如改名),需要手動修改
③@ComponentScan(basePackageClasses={類1.class,類2.class}),這種設置方式是通過類對象設置,重構項目不需要手動修改
④前面三個都是基于類配置文件的形式(即使用注解),還可以通過xml配置文件的形式,xml配置文件需要建立一個applicationContext.xml的文件,在其中使用<context:component-scan base-package="包名"></context:component-scan>這樣的形式,如果需要配置多個,只需要再多些幾個<context:component-scan base-package="包名"></context:component-scan>即可,其中包名換成具體類也是可行的。
————————————————
版權聲明:本文為CSDN博主「雨欲語」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41061437/article/details/82744513
總結
以上是生活随笔為你收集整理的spring学习(23):基础组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot @Conditi
- 下一篇: Maven 强制导入jar包