@Component注解的解析


今天在寫程序的時候看見一個以前沒有見過的注解(@Component),在網上查找過后,經過實踐,決定把它記錄下來。

 1、@controller 控制器(注入服務)

  • 用於標注控制層,相當於struts中的action層

2、@service 服務(注入dao)

  • 用於標注服務層,主要用來進行業務的邏輯處理

3、@repository(實現dao訪問)

  • 用於標注數據訪問層,也可以說用於標注數據訪問組件,即DAO組件.

4、@component (把普通pojo實例化到spring容器中,相當於配置文件中的 
<bean id="" class=""/>

    • 泛指各種組件,就是說當我們的類不屬於各種歸類的時候(不屬於@Controller、@Services等的時候),我們就可以使用@Component來標注這個類

      下面寫這個是引入component的掃描組件 

      1
      <context:component-scan base-package=”com.mmnc”>

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

             1、@Service用於標注業務層組件 
             2、@Controller用於標注控制層組件(如struts中的action) 
             3、@Repository用於標注數據訪問組件,即DAO組件. 
             4、@Component泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注。    
                   @Service public class UserServiceImpl implements UserService { }      

                  @Repository public class UserDaoImpl implements UserDao { } getBean的默認名稱是類名(頭字母小寫),如果想自定義,可以@Service(“***”)               這樣來指定,這種bean默認是單例的,如果想改變,可以使用@Service(“beanName”) 

                 @Scope(“prototype”)來改變。可以使用以下方式指定初始化方法和銷毀方法(方法名任意): @PostConstruct public void init() { }

 

 

歡迎大家關注公眾號,不定時干貨,只做有價值的輸出

作者:Dawnzhang
出處:https://www.cnblogs.com/clwydjgs/p/9255083.html
版權:本文版權歸作者
轉載:歡迎轉載,但未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任


免責聲明!

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



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