spring註解@Service註解的使用解析
@Service註解的使用
要說明@Service
註解的使用,就得說一下我們經常在spring
配置文件applicationContext.xml
中看到如下圖中的配置:
<!-- 采用掃描 + 註解的方式進行開發 可以提高開發效率,後期維護變的困難瞭,可讀性變差瞭 --> <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{ ...... }
其作用就相當於在applicationContext.xml
配置文件裡配置如下信息:
<bean id="courseDAO" class="com.study.persistent.CourseDAOImpl" scope="prototype"> ...... </bean>
@Service("serviceName")
註解相當於applicationContext.xml
配置文件中配置的<bean id="serviceName">
,表示給當前類命名一個別名,方便註入到其他需要用到的類中。
@Service
註解也可以不指定serviceName
,如果不指定相當於<bean id="com.study.service.serviceName">
,com.study.service.ServiceName
就是這個類的全限定名,不加的話,默認別名就是當前類名,但是首字母小寫。
@service註解的簡介及使用范例
spring2.5之後出現的註解,就跟在spring
配置文件裡配置bean
差不多的功能,就是讓spring
自動掃描管理組件,@Service
、@Controller
、@Repository
、@Component
,這四個其實是一樣的功能,沒有區別,隻是在MVC
模式上表示的層不一樣,service
一般標註在service
層的bean
上,controller
標註在控制層,@Repository
標註在view
層,component
通用。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Spring純註解開發模式讓開發簡化更簡化
- SpringBoot@Componet註解註入失敗的問題
- Spring超詳細講解註解開發
- spring IOC控制反轉原理詳解
- Spring IOC簡單理解及創建對象的方式