今天在寫程序的時候看見一個以前沒有見過的注解(@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
版權:本文版權歸作者
轉載:歡迎轉載,但未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任