-
===========GirlException============= public class GirlException extends RuntimeException{ private Integer code; public GirlException(ResultEnum resultEnum) { super(resultEnum.getMsg()); this.code=resultEnum.getCode(); } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } } ==========ExceptionHandle =========== @ControllerAdvice public class ExceptionHandle { private final static Logger logger=LoggerFactory.getLogger(ExceptionHandle.class); @ExceptionHandler(value=Exception.class) @ResponseBody public Result handle(Exception e) { if(e instanceof GirlException) { GirlException girlException=(GirlException)e; return ResultUitl.error(girlException.getCode(), girlException.getMessage()); }else { logger.error("【系統異?!縶}",e); return ResultUitl.error(-1, e.getMessage()); } } }查看全部
-
=========GirlController======= @RequestMapping("/girlGetAge/{id}") public void getAge(@PathVariable("id") Integer id) throws Exception { girlService.getAge(id); } ==========GirlService============== //異常拋給controller public void getAge(Integer id) throws Exception{ Girl girl=girlRepository.findOne(id); Integer age=girl.getAge(); if(age<10) { throw new GirlException(ResultEnum.PRIMARY_SCHOOL); }else if(age>10 && age<16) { throw new GirlException(ResultEnum.MIDDLE_SCHOOL); } } =========ResultEnum========== public enum ResultEnum { UNKONW_ERROR(-1,"未知錯誤"), SUCCESS(0,"成功"), PRIMARY_SCHOOL(100,"你在上小學"), MIDDLE_SCHOOL(101,"你在上初中"), ; private Integer code; private String msg; get\set方法...... }查看全部
-
spring 只對RuntimeException進行事物回滾查看全部
-
service拋出異常給controller,controller繼續拋出異常,定義異常捕獲handler @ControllerAdvice public class ExceptionHandle { @ExceptionHandler(value=Exception.class) @ResponseBody public Result handle(Exception e) { return ResultUitl.error(100, e.getMessage()); } }查看全部
-
@AfterReturning //returning:The name of the argument in the advice signature to bind the returned value to @AfterReturning(returning="object",pointcut="log()") public void doAfterReturning(Object object) { logger.info("response={}",object); }查看全部
-
@Before("log()") //JoinPoint提供對連接點上可用狀態和靜態信息的反射訪問 public void doBefore(JoinPoint joinPoint) { logger.info("111111111111111"); ServletRequestAttributes attributes=(ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); HttpServletRequest request=attributes.getRequest(); //url logger.info("url={}",request.getRequestURL()); //method logger.info("method={}",request.getMethod()); //ip logger.info("ip={}",request.getRemoteAddr()); //類方法 logger.info("clsss_method={}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName()); //參數 logger.info("args={}",joinPoint.getArgs()); }查看全部
-
aop @Pointcut定義切入點查看全部
-
mvn clean package -Dmaven.test.skip=true查看全部
-
項目啟動時實例化構造方法,當http請求時并不實例化構造方法查看全部
-
http請求和數據庫操作請求流程查看全部
-
APO、OOP屬于編程范式,僅是編程思想和語言無關查看全部
-
mvn clean package -Dmaven.skip.test=true查看全部
-
git 代碼獲取查看全部
-
人為兒童偉大的查看全部
-
--Service 測試 @RunWith(SpringRunner.class)-表示在測試環境 @SpringBootTest-表示將啟動整個spring工程 public class GirkServiceTest{ @Autowired provate GirlService gservice; @Test public void findOneTest(){ Girl girl = gservice.findOne(73); //斷言,判斷是否正確,測試service通過與否 Assert.assertEquals(new Integer(14),girl.getAge()); } } --Controller 測試 @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc public class GirlControllerTest{ @Autowired private MockMvc mvc; @Test public void girlList()throws Exception{ mvc.perform(MockMvcRequestBuilders.get("/girls")) //判斷請求返回碼為200 .andExpect(MockMvcResultMatchers.status().isOk()) //判斷返回的內容為abc .andExpect(MockMvcResultMatchers.content().string("abc")) } nvm clean packet -- 命令打包時會自動進行單元測試并返回 結果 nvm clean packet -Dmaven.test.skip=true -- 表示打包時跳過單元測試 }查看全部
舉報
0/150
提交
取消