【SpringMVC簡(jiǎn)介】
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到巴林右旗網(wǎng)站設(shè)計(jì)與巴林右旗網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋巴林右旗地區(qū)。Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),從而在使用Spring進(jìn)行WEB開發(fā)時(shí),可以選擇使用Spring的Spring MVC框架或集成其他MVC開發(fā)框架,如Struts1(現(xiàn)在一般不用),Struts 2(一般老項(xiàng)目使用)等等。
【SpringMVC常用注解】
@Controller
負(fù)責(zé)注冊(cè)一個(gè)bean 到spring 上下文中
@RequestMapping
注解為控制器指定可以處理哪些 URL 請(qǐng)求
@RequestBody
該注解用于讀取Request請(qǐng)求的body部分?jǐn)?shù)據(jù),使用系統(tǒng)默認(rèn)配置的HttpMessageConverter進(jìn)行解析,然后把相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上 ,再把HttpMessageConverter返回的對(duì)象數(shù)據(jù)綁定到 controller中方法的參數(shù)上
@ResponseBody
該注解用于將Controller的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫入到Response對(duì)象的body數(shù)據(jù)區(qū)
@ModelAttribute
在方法定義上使用 @ModelAttribute 注解:Spring MVC 在調(diào)用目標(biāo)處理方法前,會(huì)先逐個(gè)調(diào)用在方法級(jí)上標(biāo)注了@ModelAttribute 的方法
在方法的入?yún)⑶笆褂?@ModelAttribute 注解:可以從隱含對(duì)象中獲取隱含的模型數(shù)據(jù)中獲取對(duì)象,再將請(qǐng)求參數(shù) –綁定到對(duì)象中,再傳入入?yún)⒎椒ㄈ雲(yún)?duì)象添加到模型中
@RequestParam
在處理方法入?yún)⑻幨褂?@RequestParam 可以把請(qǐng)求參 數(shù)傳遞給請(qǐng)求方法
@PathVariable
綁定 URL 占位符到入?yún)?/p>
@ExceptionHandler
注解到方法上,出現(xiàn)異常時(shí)會(huì)執(zhí)行該方法
@ControllerAdvice
使一個(gè)Contoller成為全局的異常處理類,類中用@ExceptionHandler方法注解的方法可以處理所有Controller發(fā)生的異常
【SpringMVC與Struts2區(qū)別比較】
A、spring mvc 和 struts2的加載機(jī)制不同:spring mvc的入口是servlet,而struts2是filter(servlet和filter區(qū)別見本文最后)
B、Struts2框架是類級(jí)別的攔截
C、SpringMVC是方法級(jí)別的攔截
【JPA注解】
@Entity:表明這是一個(gè)實(shí)體類。
@MappedSuperClass:用在確定是父類的entity上。父類的屬性子類可以繼承。
@NoRepositoryBean:一般用作父類的repository,有這個(gè)注解,spring不會(huì)去實(shí)例化該repository。
@Column:如果字段名與列名相同,則可以省略。
@Id:表示該屬性為主鍵。
@JoinColumn(name=”loginId”):一對(duì)一:本表中指向另一個(gè)表的外鍵。一對(duì)多:另一個(gè)表指向本表的外鍵。
@OneToOne、@OneToMany、@ManyToOne:對(duì)應(yīng)hibernate配置文件中的一對(duì)一,一對(duì)多,多對(duì)一。
【全局異常注解】
@ControllerAdvice:包含@Component。可以被掃描到。統(tǒng)一處理異常。
@ExceptionHandler(Exception.class):用在方法上面表示遇到這個(gè)異常就執(zhí)行以下方法。
【項(xiàng)目中具體配置解析和使用環(huán)境注解】
@MappedSuperclass:
1.@MappedSuperclass 注解使用在父類上面,是用來(lái)標(biāo)識(shí)父類的
2.@MappedSuperclass 標(biāo)識(shí)的類表示其不能映射到數(shù)據(jù)庫(kù)表,因?yàn)槠洳皇且粋€(gè)完整的實(shí)體類,但是它所擁有的屬性能夠映射在其子類對(duì)用的數(shù)據(jù)庫(kù)表中
3.@MappedSuperclass 標(biāo)識(shí)的類不能再有@Entity或@Table注解
@Column:
1.當(dāng)實(shí)體的屬性與其映射的數(shù)據(jù)庫(kù)表的列不同名時(shí)需要使用@Column標(biāo)注說(shuō)明,該屬性通常置于實(shí)體的屬性聲明語(yǔ)句之前,還可與 @Id 標(biāo)注一起使用。
2.@Column 標(biāo)注的常用屬性是name,用于設(shè)置映射數(shù)據(jù)庫(kù)表的列名。此外,該標(biāo)注還包含其它多個(gè)屬性,如:unique、nullable、length、precision等。
【執(zhí)行持久化方法,按發(fā)生時(shí)間執(zhí)行的回調(diào)函數(shù)】
@javax.persistence.PostLoad:加載后。
@javax.persistence.PrePersist:持久化前。
@javax.persistence.PostPersist:持久化后。
@javax.persistence.PreUpdate:更新前。
@javax.persistence.PostUpdate:更新后。
@javax.persistence.PreRemove:刪除前。
@javax.persistence.PostRemove:刪除后。
【數(shù)據(jù)庫(kù)注解】
1)增
@PrePersist和@PostPersist事件在實(shí)體對(duì)象插入到數(shù)據(jù)庫(kù)的過(guò)程中發(fā)生:
@PrePersist事件在調(diào)用persist()方法后立刻發(fā)生,此時(shí)的數(shù)據(jù)還沒(méi)有真正插入進(jìn)數(shù)據(jù)庫(kù)。
@PostPersist事件在數(shù)據(jù)已經(jīng)插入進(jìn)數(shù)據(jù)庫(kù)后發(fā)生。
2)刪
@PreRemove和@PostRemove事件的觸發(fā)由刪除實(shí)體引起:
@PreRemove事件在實(shí)體從數(shù)據(jù)庫(kù)刪除之前觸發(fā),即在調(diào)用remove()方法刪除時(shí)發(fā)生,此時(shí)的數(shù)據(jù)還沒(méi)有真正從數(shù)據(jù)庫(kù)中刪除。
@PostRemove事件在實(shí)體從數(shù)據(jù)庫(kù)中刪除后觸發(fā)。
3)改
@PreUpdate和@PostUpdate事件的觸發(fā)由更新實(shí)體引起:
@PreUpdate事件在實(shí)體的狀態(tài)同步到數(shù)據(jù)庫(kù)之前觸發(fā),此時(shí)的數(shù)據(jù)還沒(méi)有真正更新到數(shù)據(jù)庫(kù)。
@PostUpdate事件在實(shí)體的狀態(tài)同步到數(shù)據(jù)庫(kù)之后觸發(fā),同步在事務(wù)提交時(shí)發(fā)生。
4)查
@PostLoad事件在下列情況下觸發(fā):
執(zhí)行EntityManager.find()或getreference()方法載入一個(gè)實(shí)體后。
執(zhí)行JPQL查詢后。
EntityManager.refresh()方法被調(diào)用后。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。