@Component和@Repository、@Service、@Controller
Spring的註解形式:@Repository、@Service、@Controller,它們分別對應儲存層Bean,業務層Bean,和展示層Bean。
spring中的註解;
@Repository用於標註資料訪問元件,即DAO元件;
例:
@Repository
public class VentorDaoImpl implements iVentorDao {
}
在一個稍大的專案中,如果元件採用xml的bean定義來配置,顯然會增加配置檔案的體積,查詢以及維護起來也不太方便。
Spring2.5為我們引入了元件自動掃描機制,他在類路徑下尋找標註了上述註解的類,並把這些類納入進spring容器中管理。
它的作用和在xml檔案中使用bean節點配置元件時一樣的。要使用自動掃描機制,我們需要開啟以下配置資訊:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package=”com.eric.spring”>
</beans>
下面說說@Componnet
@Component是類級別的註釋,它表明了被註釋的類是一個componnet,在使用基於註解的配置和類路徑掃描後,
標識為component的類會成為自動掃描的掃描物件。
其他類級別的註釋也可以被認為是component,通常是特殊型別的component:例如, @Repository註釋或AspectJ的@Aspect註釋。
譯自:spring官網 @Component API
@Repository、@Service、@Controller其實都可以認為是@Component的特例.
比如我們看看spring官網@Service的API介紹:
表明註釋類是一個“服務”,最初由領域驅動設計(DDD:Domain-Driven Design)定義為“作為模型中獨立的介面提供的操作,沒有封裝狀態。”
也可能表明一個類是“業務服務門面”(在核心J2EE模式意義上)或類似的東西。 這個註釋是一個通用的stereotype,個別團隊可能會縮小它們的語義並酌情使用。
這個註解作為@Component的一個特例,允許通過類路徑掃描來自動檢測實現類。
譯自:spring官網 @Service API
相關文章
- SpringMVC常用註解@Controller,@Service,@repository,@ComponentSpringMVCController
- SpringBoot入門教程(十七)@Service、@Controller、@Repository、@ComponentSpring BootController
- @Component, @Repository, @Service的區別
- 有關service controllerController
- Spring典型註解-@Controller,@Component,@SpringController
- WebSphere Service Registry and Repository API 簡介WebAPI
- Laravel 設計模式:Repository + Service 實戰Laravel設計模式
- Controller內注入的Service為nullControllerNull
- WebSphere Service Registry and Repository 外掛的功能及使用Web
- kubernetes實踐之四十八:Service Controller與Endpoint ControllerController
- service會不會因repository而變得也很薄
- Spring security (一)架構框架-Component、Service、Filter分析Spring架構框架Filter
- java程式碼生成器(controller,service,mapper)JavaControllerAPP
- @bean和@component的理解Bean
- java自動生成實體類(帶註釋)和controller層,service層 dao層 xml層JavaControllerXML
- dao層 和controllerController
- @Component和@Bean的區別Bean
- 重拾後端之Spring Boot(三):找回熟悉的Controller,Service後端Spring BootController
- 後端開發基礎概念 Entity,DAO,DO,DTO,VO, Service,Controller後端Controller
- 使用WebSphere Service Registry and Repository 作為DB2 pureXML模式的主登錄檔WebDB2XML模式
- Service 層異常拋到 Controller 層處理還是直接處理?Controller
- SAP ABAP MIME Repository 和 API 介紹API
- DAO和Repository有什麼區別
- no such repository
- @Bean和@Component之間的區別?Bean
- 【Oracle】service_name和service_names的關係Oracle
- Controller和View物件的載入ControllerView物件
- React.createClass和extends Component的區別React
- 用slot和component實現表單共用
- Bundle the repository
- service和systemctl的區別
- Azure App object和Service PrincipalAPPObject
- @Controller 和 @RestController的區別ControllerREST
- Controller和RestController的區別ControllerREST
- @Controller和@RestController的區別ControllerREST
- @Controller和@RestController的區別?ControllerREST
- @RestController和@Controller的區別RESTController
- RestController和Controller的區別和異同RESTController