-
@Valid & BindingResult查看全部
-
@Min查看全部
-
這個類不錯查看全部
-
自定義的異常類查看全部
-
對Controller單元測試的方式: 三個注解為, 1. @RunWith(SpringRunner.class)現在要在測試環境中跑,底層使用的是junit測試工具 2. @SpringBootTest 將啟動整個spring工程 3. @AutoConfigureMockMvc 自動注入后,調用mockMvc.perform(MockMvcRequestBuilders.get("[url]")).andExpect(MockMvcResultMatchers.status().isOk());查看全部
-
自定義枚舉類: 沒有set方法哦,因為不需要set查看全部
-
自定義異常處理類:遮蓋部分是getMessage()查看全部
-
業務層直接向外拋異常:查看全部
-
自定義異常類:為什么要繼承,因為spring只對RunTimeException進行事務回滾查看全部
-
把請求的返回結果寫成工具類:查看全部
-
@Before("log()") public void doBefore(JoinPoint joinPoint) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = (HttpServletRequest) attributes.getRequest(); logger.info("url={}", request.getRequestURL()); logger.info("method={}", request.getMethod()); logger.info("ip={}", request.getRemoteAddr()); logger.info("class_method={}", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); logger.info("args ={}", joinPoint.getArgs()); logger.info("111111111111111111111111111111"); } @AfterReturning(returning = "object", pointcut = "log()")//獲取請求結果的內容 public void doAfterReturn(Object object) { logger.info("response={}", object); }查看全部
-
攔截器的改進寫法: 為了避免代碼重復書寫,定義一個公用方法,@Pointcut注解聲明切入點 @Before @After 兩注解直接復用該方法切入點 @Aspect @Component public class HttpAspect { private final static Logger logger= LoggerFactory.getLogger(HttpAspect.class); @Pointcut("execution(public * com.example.project.web.CustomerContorller.*(..))") public void log(){ } @Before("log()") public void doBefore(){ logger.info("aaaa"); } @After("log()") public void doAfter(){ logger.info("bbbb"); } }查看全部
-
使用攔截器實例:查看全部
-
使用AOP第一步,添加依賴: spring-boot-starter-aop查看全部
-
AOP 將通用邏輯從業務邏輯中分離出來查看全部
舉報
0/150
提交
取消