spring框架校验自定义注解】的更多相关文章

起因: 项目开发时遇到一个问题是对于金额类型的字段,数据库中格式一般为BigDecimal类型,两位小数点,然后在接口定义中如果不定义成String类型的话,就不能使用@pattern注解限定格式,而在hibernate的校验里面,没有相关适合的注解使用来限定金额格式,所以需要自定义一个注解来对这类参数进行校验.如果在接口中传入的参数值小数点后不止两位,在mysql中进行插入的时候会自动进行剪切,如传入1.315元,在入库的时候该参数就可能被剪切成1.35元,最终入库数据为1.35. 解决:自定…
自定义注解:这里是一个处理异常的注解,当调用方法发生异常时,返回异常信息 /** * ErrorCode: * * @author yangzhenlong * @since 2016/7/21 */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface ErrorException { int code() default 0;//参数…
一个SSH的项目(springmvc+hibernate),需要提供接口给app使用.首先考虑的就是权限问题,app要遵循极简模式,部分内容无需验证,用过滤器不能解决某些无需验证的方法 所以最终选择用AOP 解决.大致思路是使用自定义注解,在需要权限控制的方法前(controller层)使用注解然后使用AOP拦截访问的方法,判断当前用户是否登录了(判断是否携带了登录之后获取到的 token ),从而决定是否拦截. 开启切面代理 <!--aop配置,基于类的代理 --> <!-- <…
Spring AOP的主要功能相信大家都知道,日志记录.权限校验等等. 用法就是定义一个切入点(Pointcut),定义一个通知(Advice),然后设置通知在该切入点上执行的方式(前置.后置.环绕等). 只不过一直没想过切入点还可以是注解. 下面直接进入节奏 1.打开STS,新建一个Spring Starter Project.如果不清楚STS是什么,可以参考我的 Spring Tools Suite (STS) 简介,几分钟的事. Starter模块选择web.aop,其实我还选了一个Dev…
转自: http://blog.csdn.net/wuqiqing_1/article/details/52763372 Annotation其实是一种接口.通过Java的反射机制相关的API来访问Annotation信息.相关类(框架或工具中的类)根据这些信息来决定如何使用该程序元素或改变它们的行为.Java语言解释器在工作时会忽略这些Annotation,因此在JVM中这些Annotation是“不起作用”的,只能通过配套的工具才能对这些Annotation类型的信息进行访问和处理. 元注解…
1.什么是IOC? IoC(Inverse Of Control:反转控制) 2.IOC的作用是什么? 削减计算机程序的耦合(解除我们代码中的依赖关系). 3.关于程序的耦合 /** * 程序的耦合 * 耦合:程序间的依赖关系 * 包括: * 类之间的依赖 * 方法间的依赖 * 解耦: * 降低程序间的依赖关系 * 实际开发中: * 应该做到:编译期不依赖,运行时才依赖. * 解耦的思路: * 第一步:使用反射来创建对象,而避免使用new关键字. * 第二步:通过读取配置文件来获取要创建的对象全…
在Spring中实现字符串清除的方法有很多,原生方法String自带trim()方法,或者使用StringUtils提供的trim...方法. 通常可以将上面的方式封装成自定义注解的形式去实现来节省更多的业务代码. Trimmed.java: import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import j…
摘要: 本篇文章的场景是做调度中心和监控中心时的需求,后端使用TDDL实现分表分库,需求:实现关键业务的查询监控,当用Mybatis查询数据时需要从主库切换到备库或者直接连到备库上查询,从而减小主库的压力,在本篇文章中主要记录在Spring Boot中通过自定义注解结合AOP实现直接连接备库查询. 一.通过AOP 自定义注解实现主库到备库的切换 1.1 自定义注解 自定义注解如下代码所示 import java.lang.annotation.ElementType; import java.l…
注解配置业务类 使用@Component("s") 注解ProductService 类 package com.how2java.service; import org.springframework.stereotype.Component; @Component("s") public class ProductService { public void doSomeService(){ System.out.println("doSomeServi…
在Spring Boot项目中可以使用AOP实现自定义注解,从而实现统一.侵入性小的自定义功能. 实现自定义注解的过程也比较简单,只需要3步,下面实现一个统一打印日志的自定义注解: 1. 引入AOP依赖 在pom文件中引入AOP的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId>…