整理自網上:
web
Annotation | Package Detail/Import statement |
---|---|
@Service | import org.springframework.stereotype.Service; |
@Repository | import org.springframework.stereotype.Repository; |
@Component | import org.springframework.stereotype.Component; |
@Autowired | import org.springframework.beans.factory.annotation.Autowired; |
@Transactional | import org.springframework.transaction.annotation.Transactional; |
@Scope | import org.springframework.context.annotation.Scope; |
Spring MVC Annotations | |
@Controller | import org.springframework.stereotype.Controller; |
@RequestMapping | import org.springframework.web.bind.annotation.RequestMapping; |
@PathVariable | import org.springframework.web.bind.annotation.PathVariable; |
@RequestParam | import org.springframework.web.bind.annotation.RequestParam; |
@ModelAttribute | import org.springframework.web.bind.annotation.ModelAttribute; |
@SessionAttributes | import org.springframework.web.bind.annotation.SessionAttributes; |
Spring Security Annotations | |
@PreAuthorize | import org.springframework.security.access.prepost.PreAuthorize; |
@Service、@Repository、@Controller、@Component 這四個都是用來註解spring的bean,站在程序的角度它們都是等效。但從名字上,咱們很容易看出@Service是註解業務層的bean – Service,@Repository是註解持久層的bean – Dao,@Controller是註解MVC的Controller,@Component 用來註解普通的bean,當這個bean很差歸類的時候,就用@Component。spring
自動注入值,以下自動注入companyDAO。前提你要保證companyDAO存在spring的context裏。session
添加@Transactional到某個Service類上,說明該Service的全部方法都支持事務管理,若在某個方法上添加@Transactional,只聲明該方法支持事務。當支持事務的方法開始執行前都會先打開一個事務,碰到異常時就會回滾。Spring的默認配置是碰到RunTimeException時纔會進行事務回滾。app
對應<bean scope=」prototype」/>裏的scope,它的值有singleton、prototype、request,session,global session和自定義模式。post
在類或方法上面使用此註解,設置URL訪問地址。它有兩個屬性,value指定訪問路徑,method指定指定請求方式,請求方式在RequestMethod這個類中,所有以常量形式定義,它默認使用GET請求。它也能夠只指定訪問路徑,以下所示spa
以下{context.path}/comany/addCompany 映射到addCompany方法。prototype
獲取URL訪問路徑變量。在下面的例子裏,訪問路徑是/company/techferry,companyName獲取到的值就是techferry。code
把URL上的參數綁定到Controller方法上的參數,pageNum的值就是來源於request.getParameter(「pageNum」)。orm
當參數不少的時候,直接定義在方法上,方法的代碼會很長,很是醜陋。一般的作法是定義一個formbean,而後在formbean前使用@ModelAttribute註解。Spring MVC會自動把URL的參數根據匹配的字段名一個一個的設置到formbean裏。blog
聲明一個變量,存放在session裏,多個請求之間能夠共享操做這個變量。
權限驗證
以下例子,只有用戶的role包含「ROLE_ADMIN」才能夠刪除Contact。