国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網(wǎng)站怎么做qq登錄界面百度知道合伙人

網(wǎng)站怎么做qq登錄界面,百度知道合伙人,亞馬遜購物,手機網(wǎng)站建設公司服務1 Spring Boot 事務支持 在使? Jdbc 作為數(shù)據(jù)庫訪問技術時,Spring Boot框架定義了基于jdbc的PlatformTransaction Manager 接?的實現(xiàn) DataSourceTransactionManager,并在 Spring Boot 應? 啟動時?動進?配置。如果使? jpa 的話 Spring Boot 同樣提供…

1?Spring Boot 事務支持

? ? ? ?在使? Jdbc 作為數(shù)據(jù)庫訪問技術時,Spring Boot框架定義了基于jdbc的PlatformTransaction Manager 接?的實現(xiàn) DataSourceTransactionManager,并在 Spring Boot 應? 啟動時?動進?配置。如果使? jpa 的話 Spring Boot 同樣提供了對應實現(xiàn)。

? ? ? ?這? Spring Boot 集成了 mybatis 框架,mybatis 底層數(shù)據(jù)訪問層實現(xiàn)基于 jdbc 來實現(xiàn),所以在 Spring Boot 環(huán)境下對事務進?控制,事務實現(xiàn)由 Spring Boot 實現(xiàn)并?動配置,在使?時通過注解? 式標注相關?法加?事務控制即可。

聲明式事務配置:

@Transactional(propagation = Propagation.REQUIRED)
public void saveUser(User user) {AssertUtil.isTrue(StringUtils.isBlank(user.getUserName()), "?戶名不能為空!");AssertUtil.isTrue(StringUtils.isBlank(user.getUserPwd()),"?戶密碼不能為空!");User temp = userMapper.queryUserByUserName(user.getUserName());AssertUtil.isTrue(null != temp, "該?戶已存在!");AssertUtil.isTrue(userMapper.save(user)<1,"?戶記錄添加失敗!");
}
@Transactional(propagation = Propagation.REQUIRED)
public void updateUser(User user) {AssertUtil.isTrue(StringUtils.isBlank(user.getUserName()), "?戶名不能為空!");AssertUtil.isTrue(StringUtils.isBlank(user.getUserPwd()),"?戶密碼不能為空!");User temp = userMapper.queryUserByUserName(user.getUserName());AssertUtil.isTrue(null != temp && !(temp.getId().equals(user.getId())), "該?
戶已存在!");AssertUtil.isTrue(userMapper.update(user)<1,"?戶記錄添加失敗!");
}
@Transactional(propagation = Propagation.REQUIRED)
public void deleteUser(Integer id){AssertUtil.isTrue(null == id || null ==userMapper.queryById(id),"待刪除記錄不存
在!");AssertUtil.isTrue(userMapper.delete(id)<1,"?戶刪除失敗!");
}

2?Spring Boot 全局異常處理

? ? ? ?SpringMvc 中對異常統(tǒng)?處理提供了相應處理?式,推薦?家使?的是實現(xiàn)接? Handler ExceptionResolver的?式,對代碼侵?性較?。

? ? ? ?在Spring Boot 應?中同樣提供了對異常的全局性處理,相關注解如下。

2.1?@ControllerAdvice

? ? ? ?該注解組合了 @Component 注解功能,最常?的就是作為全局異常處理的切?類,同時通過該注解 可以指定包掃描的范圍。@ControllerAdvice 約定了?種可?的返回值,如果是直接返回 model 類的 話,需要使?@ResponseBody 進? json 轉(zhuǎn)換。

2.2?@ExceptionHandler

? ? ? ?該注解在 Spring 3.X 版本引?,在處理異常時標注在?法級別,代表當前?法處理的異常類型有哪些 具體應?以 Restful 接?為例,測試保存?戶接?。

2.3 全局異常應用

2.3.1 異常拋出與全局異常捕獲

UserController 查詢接?:

@ApiOperation(value = "根據(jù)?戶id查詢?戶記錄")
@ApiImplicitParam(name = "userId",value = "?戶ID",required = true, paramType =
"path")
@GetMapping("user/id/{userId}")
public User queryUserByUserId(@PathVariable Integer userId){return userService.queryUserByUserId(userId);
}

UserService 查詢業(yè)務?法,拋出 ParamExceptions 異常:

public User queryUserByUserId(Integer userId){// 拋出異常AssertUtil.isTrue(true,"異常測試...");return userMapper.queryById(userId);
}

全局異常處理類 GlobalExceptionHandler 定義:

@ControllerAdvice
public class GlobalExceptionHandler{/*** 全局異常處理 返回json* @param e* @return*/@ExceptionHandler(value = Exception.class)@ResponseBodypublic ResultInfo exceptionHandler(Exception e){ResultInfo resultInfo = new ResultInfo();resultInfo.setCode(300);resultInfo.setMsg("操作失敗!");if(e instanceof ParamsException){ParamsException pe = (ParamsException) e;resultInfo.setMsg(pe.getMsg());resultInfo.setCode(pe.getCode());}return resultInfo;}
}

Postman 執(zhí)?測試效果:

2.3.2 特定異常處理

通過 @ExceptionHandler 標注?法處理特定異常,這?以?戶未登錄異常為例,通過全局異常進 ?統(tǒng)?處理:

/*** ?戶未登錄異常特殊處理 返回json* @param authExceptions* @return*/
@ExceptionHandler(value = NoLoginException.class)
@ResponseBody
public ResultInfo userNotLoginHandler(NoLoginException authExceptions){System.out.println("?戶未登錄異常處理。。。");ResultInfo resultInfo = new ResultInfo();resultInfo.setCode(authExceptions.getCode());resultInfo.setMsg(authExceptions.getMsg());return resultInfo;
}

在?戶修改接?中拋出未登錄異常為例進?測試:

/*** 修改?戶* @param user* @return*/
@ApiOperation(value = "更新?戶")
@ApiImplicitParam(name = "user", value = "?戶對象")
@PostMapping("/user")
public ResultInfo updateUser(@RequestBody User user) {if(1 == 1){throw new NoLoginException();}ResultInfo resultInfo = new ResultInfo();userService.updateUser(user);return resultInfo;
}

Postman 執(zhí)?測試效果:

http://www.aloenet.com.cn/news/32083.html

相關文章:

  • 網(wǎng)站做支付要多少錢seo公司怎么樣
  • 網(wǎng)站收費怎么做seo技術快速網(wǎng)站排名
  • 東至網(wǎng)站定制免費入駐的賣貨平臺
  • 視頻網(wǎng)站砸錢做生態(tài)百度一下官網(wǎng)
  • 初次建設網(wǎng)站的技巧聊城網(wǎng)站推廣的公司
  • 怎么用阿帕奇做網(wǎng)站谷歌廣告聯(lián)盟
  • 山東做網(wǎng)站的公司蘭州做網(wǎng)站的公司
  • 房地產(chǎn)營銷門戶網(wǎng)站建設鄭州網(wǎng)站建設價格
  • 公司網(wǎng)站制作公司排名網(wǎng)絡營銷推廣策略有哪些
  • 有關師德建設的網(wǎng)站網(wǎng)站建設需要多少錢?
  • 做網(wǎng)站用的hu軟件網(wǎng)站維護費一年多少錢
  • 企業(yè)管理網(wǎng)站開發(fā)論文可以營銷的十大產(chǎn)品
  • 唐山seo快速排名seo全稱是什么
  • 汕頭百度網(wǎng)站建設成都網(wǎng)絡營銷品牌代理機構
  • 織夢修改網(wǎng)站后備份網(wǎng)絡軟文
  • 搭建平臺暢通渠道網(wǎng)站seo推廣
  • 自己做網(wǎng)絡棋牌網(wǎng)站流程泉州seo報價
  • 商城網(wǎng)站建設招聘百度搜索風云榜總榜
  • 網(wǎng)站app開發(fā)平臺網(wǎng)站搭建谷歌seo
  • wordpress插件裝多了卡seo代碼優(yōu)化包括哪些
  • 巴中網(wǎng)站建設免費自助建站網(wǎng)站
  • 煙臺seo網(wǎng)站診斷短視頻營銷推廣方式
  • 南寧美容網(wǎng)站建設seo智能優(yōu)化公司
  • php動態(tài)網(wǎng)站怎么做商旅100網(wǎng)頁版
  • 做地方門戶網(wǎng)站如何做可靠的網(wǎng)站優(yōu)化
  • 怎么自己做網(wǎng)站發(fā)優(yōu)惠券seo搜索引擎優(yōu)化業(yè)務
  • 佛山電商網(wǎng)站制作seo自學教程
  • 租網(wǎng)站服務器價格seo霸屏
  • 網(wǎng)頁與網(wǎng)站設計nbsp的意思合肥做網(wǎng)站哪家好
  • 做家庭影院的有哪些網(wǎng)站防城港網(wǎng)站seo