【Spring】10、Spring中用@Component、@Repository、@Service和 @Controller等標注的默認Bean名稱會是小寫開頭的非限定類名


@Service用於標注業務層組件(我們通常定義的service層就用這個)

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

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

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

 

使用過濾器自定義掃描 <context:component-scan base-package="org.example"> 
spring開發手冊中這樣寫: 
3.12.4. 自動檢測組件的命名

當一個組件在某個掃描過程中被自動檢測到時,會根據那個掃描器的BeanNameGenerator 策略生成它的bean名稱。默認情況下,任何包含 name值的Spring“典型”注解 (@Component、@Repository、 @Service和@Controller) 會把那個名字 提供給相關的bean定義。如果這個注解不包含name值或是其他檢測到的組件 (比如被自定義過濾器發現的),默認bean名稱生成器會返回小寫開頭的非限定(non-qualified)類名。 例如,如果發現了下面這兩個組件,它們的名字會是‘myMovieLister‘和‘movieFinderImpl‘:

@Service("myMovieLister") public class SimpleMovieLister { // ... } @Repository public class MovieFinderImpl implements MovieFinder { // ... }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM