spring注解@Service注解的使用解析
@Service注解的使用
要說明@Service
注解的使用,就得說一下我們經(jīng)常在spring
配置文件applicationContext.xml
中看到如下圖中的配置:
<!-- 采用掃描 + 注解的方式進(jìn)行開發(fā) 可以提高開發(fā)效率,后期維護(hù)變的困難了,可讀性變差了 --> <context:component-scan base-package="com.study.persistent" />
在applicationContext.xml
配置文件中加上這一行以后,將自動掃描指定路徑下的包,如果一個類帶了@Service
注解,將自動注冊到Spring
容器,不需要再在applicationContext.xml
配置文件中定義bean
了,類似的還包括@Component
、@Repository
、@Controller
。
如這個類:
@Service("courseDAO") @Scope("prototype") public class CourseDAOImpl extends HibernateDaoSupport implements CourseDAO{ ...... }
其作用就相當(dāng)于在applicationContext.xml
配置文件里配置如下信息:
<bean id="courseDAO" class="com.study.persistent.CourseDAOImpl" scope="prototype"> ...... </bean>
@Service("serviceName")
注解相當(dāng)于applicationContext.xml
配置文件中配置的<bean id="serviceName">
,表示給當(dāng)前類命名一個別名,方便注入到其他需要用到的類中。
@Service
注解也可以不指定serviceName
,如果不指定相當(dāng)于<bean id="com.study.service.serviceName">
,com.study.service.ServiceName
就是這個類的全限定名,不加的話,默認(rèn)別名就是當(dāng)前類名,但是首字母小寫。
@service注解的簡介及使用范例
spring2.5之后出現(xiàn)的注解,就跟在spring
配置文件里配置bean
差不多的功能,就是讓spring
自動掃描管理組件,@Service
、@Controller
、@Repository
、@Component
,這四個其實(shí)是一樣的功能,沒有區(qū)別,只是在MVC
模式上表示的層不一樣,service
一般標(biāo)注在service
層的bean
上,controller
標(biāo)注在控制層,@Repository
標(biāo)注在view
層,component
通用。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot中LocalDateTime對象返回給前端格式化解決方案
在項(xiàng)目開發(fā)當(dāng)中前后端使用什么樣的時間格式,是一個值得關(guān)注的問題,這篇文章主要給大家介紹了關(guān)于Springboot中LocalDateTime對象返回給前端格式化的解決方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04詳解mybatis中association和collection的column傳入多個參數(shù)問題
這篇文章主要介紹了詳解mybatis中association和collection的column傳入多個參數(shù)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10java實(shí)現(xiàn)合并2個文件中的內(nèi)容到新文件中
這篇文章主要介紹了java實(shí)現(xiàn)合并2個文件中的內(nèi)容到新文件中,思路非常不錯,這里推薦給大家。2015-03-03Java實(shí)現(xiàn)的基于socket通信的實(shí)例代碼
Java實(shí)現(xiàn)的基于socket通信的實(shí)例代碼,需要的朋友可以參考一下2013-03-03Java?Mybatis?foreach嵌套foreach?List<list<Object>&
在MyBatis的mapper.xml文件中,foreach元素常用于動態(tài)生成SQL查詢條件,此元素包括item(必選,元素別名)、index(可選,元素序號或鍵)、collection(必選,指定迭代對象)、open、separator、close(均為可選,用于定義SQL結(jié)構(gòu))2024-09-09java實(shí)現(xiàn)去除ArrayList重復(fù)字符串
本文主要介紹了java實(shí)現(xiàn)去除ArrayList重復(fù)字符串,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09java web response提供文件下載功能的實(shí)例講解
下面小編就為大家分享一篇java web response提供文件下載功能的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01java實(shí)現(xiàn)簡單汽車租賃系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01