随笔分类 -  Java

摘要:接上一篇:spring boot 是如何利用jackson进行反序列化的? 返回的search是如何序列化json的? 上一篇说到RequestResponseBodyMethodProcessor这个类在json序列化和反序列化都中很重要: 上面是反序列化时用的。 上面是序列化时用到的。 当然也可 阅读全文
posted @ 2019-09-26 19:07 二奎 阅读(2710) 评论(0) 推荐(1)
摘要:以下面的代码为例: 前端通过Postman进行模拟: 下面开始一步步的揭开它的面纱: 先从HandlerMethodArgumentResolverComposite开始: resolver为RequestResponseBodyMethodProcessor 这个类是序列化和反序列化常用到的类。下 阅读全文
posted @ 2019-09-26 18:12 二奎 阅读(5772) 评论(0) 推荐(1)
摘要:Spring Boot 自动引入jackson: 通过:Spring-Boot-starter-web Jackson自动配置 通过反射加载JacksonAutoConfiguration: 上面的类中会用到一些yml中的一些配置,是在下面的代码中获取: 在WebMvcConfigurationSu 阅读全文
posted @ 2019-09-26 16:14 二奎 阅读(1890) 评论(0) 推荐(2)
摘要:GC需要完成的三个件: 哪些内存需要回收 ?什么时候回收? 如何回收? java内存运行时区域中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出 而有条不紊的执行着出栈和入栈操作。每一个桢帧中分配多少内存基本上是类结构确定下来就已知的,因此这个区域的内存 阅读全文
posted @ 2019-09-07 12:02 二奎 阅读(250) 评论(0) 推荐(0)
摘要:JVM所管理的内存包括以下几个运行时数据区域: 图片来源:http://ju.outofmemory.cn/entry/371070 PC Register: Program Counter Register 程序计数器:它是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。分支、 阅读全文
posted @ 2019-09-07 10:21 二奎 阅读(518) 评论(0) 推荐(0)
摘要:Sun官方所定义的Java技术体系包括以下几个组成部分: 1.Java程序设计语言 2.各种硬件平台的Java虚拟机 3.Class文件格式 4.java api类库 5.来自商业机构和开源社区的第三方java类库 我们可以把Java程序设计语言,Java虚拟机,Java Api类库三部分统称为JD 阅读全文
posted @ 2019-09-01 22:41 二奎 阅读(194) 评论(0) 推荐(0)
摘要:上一篇说到spring boot 使用jackson在枚举enum序列化和反序列化的问题, 再来说说在JPA中实体entity使用枚举的问题。 还是这个枚举: 当然,如果value值和枚举的索引ordinal能够对应上,就不用做任务配置了,这里的前提是没有对应上。 无论是在实体的保存和查询映射上还是 阅读全文
posted @ 2019-08-29 15:54 二奎 阅读(2119) 评论(0) 推荐(0)
摘要:上一篇说到在枚举当在controller的方法做参数时的坑,解决方法是配置了一个converter,后来想想,如果不闲每次都加一个注解麻烦的话,可以在参数前面加一个注解,添加一个解析器应该也可以解决这个问题。 现在来说说枚举的第二个坑,前提条件和上一篇的一样:就是这个枚举: 现在还是把它当参数,但是 阅读全文
posted @ 2019-08-29 15:35 二奎 阅读(1667) 评论(0) 推荐(0)
摘要:java 枚举的功能挺多,但是坑更多,使用的时候要注意。如下面这个枚举。 咋一看,没什么问题,但是具体使用过程中,总是会出问题。原因就是这个枚举没有按照从0开始索引,除此之外即使从0开始,中间有断的索引也会有问题。主要出现在以下方面: 1. 在controller的方法中,比如以这个枚举为参数,如下 阅读全文
posted @ 2019-08-29 14:52 二奎 阅读(6255) 评论(0) 推荐(0)
摘要:@ManyToOne配置延迟加载,如果是关联主键列, 延迟加载是正常的。 但如果关联的Address的是sid而不是id的话,就延时加载就有问题。如下代码: 这时的解决方案,需要了解PersistentAttributeInterceptable的机制。 参考: https://blog.csdn. 阅读全文
posted @ 2019-08-29 13:34 二奎 阅读(1565) 评论(0) 推荐(0)
摘要:jpa-spec github: https://github.com/wenhao/jpa-spec 使用这个框架可以简化我们拼条件的复杂度,如下代码: 这是一个分页+排序的查询。 但如果我们使用的是数据库特定的函数,这个框架提供的方法就不够用了,需要我们扩展: 我们使用的是oracle数据库,它 阅读全文
posted @ 2019-08-26 20:02 二奎 阅读(909) 评论(0) 推荐(0)
摘要:当Repository接口继承了JpaSpecificationExecutor后,我们就可以使用如下接口进行分页查询: 结合jpa-spec可以很容易构造出Specification: jpa-spec github地址:https://github.com/wenhao/jpa-spec 单表查 阅读全文
posted @ 2019-08-26 19:08 二奎 阅读(6972) 评论(0) 推荐(0)
摘要:通过zuul网关处理requestURI可以做很多事情,如对uri的解密,转发,大小写转化等。 这里对URI做一个简单的大小写的转化。 写一个filter实现ZuulFilter: 注意这里有几点: 1. filterType是PRE_TYPE ,这是zuul定义的常量。可以通过FilterCons 阅读全文
posted @ 2019-07-11 10:06 二奎 阅读(1626) 评论(0) 推荐(0)
摘要:当我们使用spring boot创建项目时,系统默认使用的是如下parent。 可能不同时期版本不同,而spring boot的一大优势就是starter依赖,比如我们使用jpa就可以直接引用: 配置好数据库后,就可以使用jpa开发了,我们不用管版本的问题,但是当我们遇到OneToOne 共享主键的 阅读全文
posted @ 2019-07-11 09:28 二奎 阅读(556) 评论(0) 推荐(0)
摘要:项目代码:https://github.com/hankuikuide/microservice-spring-security-oauth2 网上多数的项目客户端都是采用纯js写,或用postman发请求,和实际项目的应用还是有差距的,这里也是采用spring boot的实现。 主要功能在于: 使 阅读全文
posted @ 2019-05-17 09:42 二奎 阅读(2429) 评论(0) 推荐(0)
摘要:项目介绍 该项目是一个演示项目,主要演示了,基于spring boot2.0+spring security +oauth2.0+ jwt构建的,单点登录SSO和统一认证和授权的微服务架构项目 该项目是一个多模块项目: authorization-server:是一个认证服务器 通常情况下,认证服务 阅读全文
posted @ 2019-05-16 17:36 二奎 阅读(4718) 评论(0) 推荐(0)
摘要:1. 参数可空: @注解表示修改的字段可为空值。看它的定义,可以修饰在方法,参数和字段(类似c#中的?)上。 对应的还有@NotNull注释,表示不能为空 2.可变长参数 如:print(String... args ){} , 调用时可以是print("1"),pring("1","2"),pri 阅读全文
posted @ 2019-03-18 16:53 二奎 阅读(179) 评论(0) 推荐(0)
摘要:1. 选择View-Tool Window- Database 2. 配置数据库信息 提示:配置完成后可以通过idea进行sql查询等操作 3.在项目中创建hbernate.cfg.xml文件, 在resource文件夹下 <?xml version="1.0" encoding="UTF-8"?> 阅读全文
posted @ 2019-03-14 11:02 二奎 阅读(2043) 评论(0) 推荐(0)
摘要:如前面的文章所述,controller中抛出的异常我们使用ControllerAdvice来处理: 但是filter中抛出的异常上面的方法就为无能为力了,如登录的认证,和权限的判断,我们可以使用如下的处理方法: 定义一个controller 继承BasicErrorController,并重写err 阅读全文
posted @ 2019-03-13 12:46 二奎 阅读(5962) 评论(0) 推荐(0)
摘要:在使用hibernate时,报错 java.lang.StackOverflowError: null 把当前线程的栈打满了 查了一下原因,应该是出现在实体的toString方法上,如果存在关联属性(1对多等),不能加入到toString方法中,否则出现,你打印我,我打印你,一直打下去。 虽然我的代 阅读全文
posted @ 2019-03-12 10:40 二奎 阅读(1798) 评论(0) 推荐(1)