- 博客(13)
- 收藏
- 关注
原创 spring boot 使用thymeleaf加载静态资源打成jar之后无法访问
场景:使用Spring boot 加载静态资源步骤如下:1.添加POM依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependen...
2017-12-29 10:35:26 9011 3
原创 spring could 配置中心
场景:将各个服务的配置放在配置中心进行统一的管理1.建立配置中心服务器a.编码如下:1.pom<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h
2017-12-22 16:45:23 1617
原创 使用Spring Could 实现负载均衡
场景:在以上场景中 客户端请求一个之后,后面的服务需要能够负载均衡,本次采用Spring Could实现上述模型涉及到的 组件有 Eurekaserver(注册中心)Ribbon(负载均衡器)其中Eurekaserver用于服务端以及负载均衡器的注册,也就是保存了这些服务者的地址信息Ribbon 用于实现特定的负载均衡策略 注意点:提供同一个服务的不同服务提供者
2017-12-22 12:06:54 3731
原创 编写自定义的Spring MVC消息转化器
场景:大多数时候Spring MVC自带的消息转化器已经满足需要了,为了学习此处还是编写一下自定义的消息转化器原理:消息转化器的原理如下图编码1.编写自定义的消息转化器public class CustomJsonHttpMessageConverter implements HttpMessageConverter { private ObjectMapper
2017-12-21 10:51:30 543
原创 使用Spring mvc 的返回值拦截器对controller的返回值做拦截处理
使用场景:有时我们针对特定的返回值类型,希望在Controller处理之后再对结果进行某些特殊的处理,比如修改HTTP的头,或者修改对象等等,这时我们可以采用如下的方式进行统一的处理1.定义特定的返回值对象
2017-12-20 10:32:31 29019 1
原创 JSON对象反序列化为Java对象的时候自定义Date类型的字符串格式
场景:假设前端传递过来一个JSON对象为{ "money":"123.123", "date":"2017/12/12"}需要将该对象反序列化为Java对象,这个时候需要修改JSON对象反序列化为Java的规则,否则字符串类型的date转化为Java的Date对象时就会报错处理如下:@Configurationpublic class WebMvcCo
2017-12-19 18:17:12 3262
原创 对象序列化为JSON的时候使用策略修改序列化的结果
场景:假设有一个需要序列化的对象中包含一个日期对象,这是如果直接将该对象转化为JSON,日期的格式就不可控,可以使用如下的方式引入自己的策略来控制属性的序列化过程1.编写对象的属性转化策略public class DateTimeSerializer extends JsonSerializer { @Override public void serialize(Date
2017-12-19 17:49:02 258
原创 Spring对对象属性的校验
场景:对对象的参数进行校验,如果不通过抛出异常1.编写需要被校验的对象public class Pet { @NotEmpty(message = "不能为空") private String name; @Range(min = 0, max = 150, message = "范围在0—150之间") private int age; pub
2017-12-19 17:30:34 4352
原创 SpringMvc 异常处理
使用场景当使用Spring MVC进行Web开发的时候,对于异常可以进行集中式的处理首先声明一个异常枚举类public enum ExceptionDesception { NO_PERMISSION(-1,"无权限"); private int code; private String msg; ExceptionDesception(int
2017-12-19 13:28:17 229
原创 使用参数拦截器通过注解直接从JSON对象中获取数据
场景:当前段传过来的对象是JSON对象,当时我们使用的时候又是仅仅使用其中的部分字段值的时候,可以通过实现参数拦截器来为我们自动将JSON中的key值赋值给参数代码1.自定义注解@Target(ElementType.PARAMETER)@Retention(RetentionPolicy.RUNTIME)public @interface JsonParam { Stri
2017-12-19 12:58:38 2678
原创 使用拦截器处理通用的Http Header
在Web项目中如果我们的后台接口有一套通用的校验规则,假设校验规则放置在Http的Header中,那么我们可以通过ThreadLocal配合拦截器来完成通用属性信息的保存以便后续处理中的使用例子:规定所有的Http头中必须携带 User-Id 与 Token 来验证用户身份,采用在拦截器中间这两个信息绑定到ThreadLocal,以供后续方法使用代码1.声明 上下文
2017-12-19 11:19:57 9909
原创 自定义类型转换器解决Spring配置文件注入类型错误的问题 PropertyEditorSupport
1.场景假设我们有一个Bean其中有一个属性为Date类型,我们通过配置文件配置其值为"2017-12-18" 注入到Spring的容器中后会报错因为配置文件中的类型都默认为 String类型,而Bean中的类型为Date类型,因而直接注入会报错这时可以通过实现自己的属性转化策略来实现从BeanDefinied转成Bean时进行一些附加的处理来帮助我们将String类型日期转化为Dat
2017-12-18 15:35:35 1684
原创 BeanPostProcessor
public interface PasswordDecodable { String getEncodedPassword(); void setDecodedPassword(String password);}1.使用场景如果我们希望在Spring 初始化Bean后针对该Bean追加一些其他的逻辑处理,那么可以使用BeanPostProcessor 实现该接口的
2017-12-18 10:47:16 294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人