
JAVA
文章平均质量分 84
achang07
这个作者很懒,什么都没留下…
展开
-
SpringBoot自动配置注解
原创 2020-07-23 16:54:52 · 303 阅读 · 0 评论 -
RestTemplate的错误处理
我们的项目属于微服务架构,两个基础的服务分别是网关和认证鉴权服务。 在前端访问后台服务的时候,都经过网关转发,转发之前会进行鉴权认证,根据鉴权结果判断是否可以进行相应的请求转发。问题描述认证鉴权服务中,判断Token对应的人员是否有相应的权限,如果没有权限,返回401状态码并在响应体中传回错误信息。 网关与鉴权服务之间的服务调用通过RestTemplate进行(可以考虑转为Feign做...原创 2018-06-02 17:22:10 · 23772 阅读 · 2 评论 -
前端事务性任务多次请求的问题
项目上线的时候,遇到一个诡异的问题:预上线环境不能复现,生产环境必现。而预上线环境和生产环境最大的区别就在于:预上线是单点应用服务,生产环境则是集群部署。问题描述项目概况:后台采用Spring Cloud生态搭建的微服务体系,前端为Vue框架,做了前后端分离。 日常情况下,都是单节点部署,不过也使用Eureka实现了服务注册和发现的机制,可以通过serviceId访问相关服务。前端请求都...原创 2018-06-02 15:39:47 · 2605 阅读 · 0 评论 -
MyBatis学习体系
MyBatisORM框架,通过XML配置或者注解完成对象关系映射。通过配置解析,参数处理,SQL解析,SQL执行,结果映射的核心层,对外提供了SQLSessionFactory,SQLSession接口。提供了事务处理,缓存处理等。github地址教程地址MyBatis-plusMyBatis的增强工具,在MyBatis基础上仅做增强不做改变,为简化开发,提升效率而生。特性:无侵...原创 2019-01-03 08:59:59 · 234 阅读 · 0 评论 -
Spring MVC数据绑定
请求方式:Url后带queryString方式基本基本类型&包装类型基本类型:key必须传,int必须是int类型;包装类型:可以不传key,即可以被解析为null;@RequestParam配置(value,required,defaultValue),可以用别名,可以不传,可以赋默认值;数组Controller方法的参数类型为数组。传递多个key,多个key的名字是一样...原创 2019-01-16 09:24:57 · 1687 阅读 · 3 评论 -
Java-Unsafe概览
使用方式功能说明1. 内存管理2. 非常规对象实例化allocateInstance3. 操作类、对象、变量4.操作数组配合使用,可以获取数组中每个元素的内存地址5. 多线程同步6. 线程挂起和恢复7. 内存屏障...原创 2019-04-14 23:45:45 · 199 阅读 · 0 评论 -
Java-LockSupport概览
底层支持Unsafe使用时机需要阻塞或者唤醒一个线程的时候概览原创 2019-04-14 23:50:09 · 149 阅读 · 0 评论 -
分布式核心要点摘要学习
现在的业务发展进度,单体应用基本要进博物馆了!分布式系统,从设计、到开发、到运维,都让人头大!微服务的理念也越来越普及,对于没有自我研发底层基础设施的中小型企业来说,当前Spring Cloud是个很好的选择。这里就不细究分布式、SOA、微服务这些概念了。先从提到分布式时经常碰到的一些概念说起,进行一个粗略的整理。个人习惯,XMind搞起!1. 分布式相关概念2. 分布式数据3....原创 2019-05-19 15:23:27 · 771 阅读 · 0 评论 -
Spring的@Value注解在构造函数中应用的注意点
在改造一个之前的SpringMVC项目,重新使用SpringBoot的架构。 有一个自定义属性读取的转换过程,这里记录一下。SpringMVC下的属性读取项目使用MongoDB数据库,直接使用MongoDB-Driver中的MongoClient进行编程,创建MongoClient实例时,需要主机地址和端口号。 这个主机地址和端口号在开发环境、测试环境、生产环境是不同的,因此通过配置文...原创 2018-03-02 07:51:26 · 16609 阅读 · 4 评论 -
HashMap关键字
概念关键字哈希桶:数组 链表:单链表 红黑树扩容 位运算 哈希碰撞 扰动函数常量定义DEFAULT_INITIAL_CAPACITY:默认初始容量,缺省为16; MAXIMUM_CAPACITY:默认最大容量,缺省2的30次方; DEFAULT_LOAD_FACTOR:默认加载因子,缺省0.75; TREEIFY_THRESHOLD:桶容量阈值,超过则从链表转换为红...原创 2018-03-01 08:51:06 · 574 阅读 · 0 评论 -
Guava库之字符串操作
Guava是google推出的一个类库,包含了很多个模块,今天先学习一下其中字符串处理相关的工具类。 通过Maven将Guava的jar包获取到本地,同时获取到其源码和doc文档,将doc文档解压打开后对该类库有一个大概的了解。 字符串相关的处理基本都在com.google.common.base包下,而其中与字符串处理相关的类包含如下几个: StringsStrings类提供了一些...原创 2018-02-08 11:15:14 · 3017 阅读 · 0 评论 -
Java反射的简单应用
反射机制在前后端交互中的简单应用原创 2017-07-17 17:04:25 · 295 阅读 · 0 评论 -
CATALINA_HOME环境变量之坑
一切都是巧合!原创 2017-09-01 09:37:12 · 15623 阅读 · 0 评论 -
JavaWeb的Cookie相关操作
Java操作Cookie。原创 2017-09-21 16:04:45 · 1607 阅读 · 0 评论 -
与授权服务器的对接方案
授权服务器对接原创 2017-10-23 09:46:21 · 2223 阅读 · 0 评论 -
Spring集成MongoDB
业务需要,某个功能模块需要从原先的MySQL关系型数据库转换为非关系型的NoSQL数据库MongoDB。 之前的项目使用的是传统的SSH架构(Spring+SpringMVC+Hibernate),不像现在流行的SpringBoot,集成MongoDB还是需要做一些配置才能完成。 配置过程中最需要注意的一点在于相关依赖的版本。Spring集成MongoDB的依赖包需要依赖两个包:m原创 2018-01-25 19:44:49 · 615 阅读 · 1 评论 -
mongo-java-driver源码简析
mongo-java-driver是java语言操作mongodb数据库的驱动包,封装了针对mongodb的相关操作。其中关键的接口和类有如下一些:Mongo&&MongoClientMongoMongo是一个MongoDB的数据库连接,内置了连接池。对于大多数应用来说,整个JVM使用一个Mongo实例。 Mongo可以使用单数据库实例,也可以使用数据库集群,在构造实例的时候如果传递原创 2018-01-26 12:11:57 · 1911 阅读 · 0 评论 -
跨域请求的OPTIONS问题
今天在做项目的时候,有一个问题折腾了大半天。 前后端分离的项目,前端独立启动,端口号为1024;后端为微服务架构,前端部署一个网关服务,端口号7001。前后端都启动以后,前端向后端发送请求属于跨域,在登录完成以后前端会设置请求头Authorization将token带入,但是在后端的过滤器中却发现获取不到Authorization。问题定位前端是通过ajax发送的rest请求,将所有可能...原创 2018-02-26 19:36:21 · 24063 阅读 · 10 评论 -
SpringBoot使用Filter的坑
业务需求背景: 项目采用微服务架构,在各个服务前面配置一个网关,通过SpringCloud生态中的Zuul组件实现。 该网关同时负责页面调度,在各个单页面应用子产品的页面之间进行调度。 ZuulFilter挺有意思,对于本服务的Controller请求不会进行拦截,因此需要针对页面请求做一个认证鉴权的Filter。实现第一版首先实现一个Filter进行鉴权及页面重定向(未登录认证状态原创 2018-02-07 18:15:08 · 12963 阅读 · 2 评论 -
JAVA注解
JAVA注解的学习大纲原创 2017-05-22 15:50:31 · 235 阅读 · 0 评论