java
bingzhilingyi
这个作者很懒,什么都没留下…
展开
-
JAVA配置多数据源并动态切换
参考:https://my.oschina.net/simpleton/blog/916108http://wenqy.com/2017/12/24/spring-boot%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97%E4%B9%8Batomikos%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E5%92%8C%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A15.html需求描述近期被分配了一个需.原创 2020-12-05 21:10:14 · 4290 阅读 · 2 评论 -
ThreadLocal类
ThreadLocal类是啥使用ThreadLocal类,目的是为了得到线程隔离的变量那么,ThreadLocal类到底是啥?其实,它就是个普通的类那它又是如何实现我们希望的功能:得到线程隔离的变量呢?其实很简单,每个Thread里都有一个线程独有的map,它的key就是ThreadLocal类的实例我们通过ThreadLocal去获取线程隔离的变量,其实就是去这个map里把ThreadLocal的实例作为key去找到对应的value罢了具体代码首先,让我们看看ThreadLocal是怎么用原创 2020-12-01 11:38:48 · 159 阅读 · 0 评论 -
使用JPA持久化实体时,equals和hashcode的最佳实践
起因描述项目使用的是Jhipster,Jhipster可以自动生成entity,dto,service等类。但是注意到,JHipster生成的entity的hashcode()方法永远都返回31 @Override public int hashCode() { return 31; }于是我去github看了相关issue,作者说他是故意这样做的,并提供了一篇参考:https://vladmihalcea.com/the-best-way-to-implem原创 2020-11-17 14:21:28 · 667 阅读 · 0 评论 -
OneToOne
OneToOneOneToOne定义了两个实体之间一对一的关系,有双向关系和单向关系一般用法如下: @OneToOne(cascade = CascadeType.PERSIST) @JoinColumn(unique = true) private Wife wife;OneToOne有如下属性可选:targetEntity : 关联的对象所属的类,由于默认采用字段类型所属的类,所以基本不用指定cascade: 级联,默认无级联CascadeType.ALLCa原创 2020-11-14 22:26:23 · 1142 阅读 · 0 评论 -
JHipster学习记录 - 4 JHipster微服务间调用
经过前面几步,我们的JHipster集群已经有了以下几个模块JHipster RegistryJHipster UAAJHipster Gateway现在,我们通过JHipster创建2个新的微服务:current-serviceother-service并且这个两个微服务都注册上JHipster Registry,且都使用JHipster UAA做身份校验我们知道,spring cloud间微服务调用使用的是Feign clients去进行调用所以我们先在current-serv原创 2020-11-13 17:18:44 · 310 阅读 · 0 评论 -
JHipster学习记录 - 3 JHipster Gateway
https://www.jhipster.tech/api-gateway/JHipster Gateway介绍通过之前的学习,我们拥有了registry和uaa, 现在通过gateway来把这些功能串起来JHipster Gateway也是一个JHipster微服务,它主要做了以下事情:它是整个JHipster微服务集群的访问入口提供了http路由和负载均衡JHipster Gateway会为注册上registry的微服务进行http路由,举个例子:服务app1注册上了,那么可以通过/se原创 2020-11-13 17:01:53 · 643 阅读 · 0 评论 -
JHipster学习记录 - 2 JHipster UAA
https://www.jhipster.tech/using-uaa/https://www.baeldung.com/jhipster-uaa-secured-micro-serviceJHipster UAA介绍前面我们介绍的JHipster Registry解决了服务注册与发现以及配置中心的问题,这个UAA则是为了解决授权问题。它主要上做了2件事它提供了用户管理的服务,实际上uaa默认生成一个user表,并提供了user的增删查改服务。当然,如果对它对用户管理不满意,就可以在uaa项目的原创 2020-11-13 16:26:51 · 549 阅读 · 0 评论 -
JHipster学习记录 - 1 JHipster Registry
https://www.jhipster.tech/jhipster-registry/JHipster Registry介绍JHipster Registry有三个作用:Eureka Server, 为微服务集群提供服务注册与发现,并提供http访问的路由和负载均衡功能Spring Cloud Config server,作为运行时的配置中心管理中心,提供了控制面板去监控并管理注册在上面的服务因此,要使用JHipster来搭建微服务集群,必须要先搭建一个JHipster Registry原创 2020-11-13 12:47:01 · 815 阅读 · 0 评论 -
spring boot 开启kafka事务
spring boot 开启kafka事务需要修改application.ymlproducer: #开启事务,当开启时retries必须>0 acks必须为all transaction-id-prefix: transaction # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败, # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leade原创 2020-09-17 21:04:22 · 786 阅读 · 0 评论 -
为什么lambda函数引用的外部变量不允许更改
java8新特性lambda函数很好用,但是有个限制,就是当Lambda函数内部使用外部的变量时,虽然不要求外部变量要用final修饰,却也不允许该外部变量被修改,这是为何呢?这是因为lambda函数内使用外部变量时,并不是使用引用,而是把变量的值拷贝了一份放到自己作用域中。所以如果变量之后被修改,会造成混乱,因此外部变量虽然不需要用final修饰,但也不允许被修改。...原创 2020-08-28 23:31:32 · 1245 阅读 · 1 评论 -
JAVA反射
慕课网java反射的课程笔记:https://www.imooc.com/video/37331.Class类万物皆对象,类也是对象,它是java.lang.Class类的实例对象,Class类的实例对象称为该类的类类型获取Class对象有以下三种方法://第一种,实际在告诉我们任何一个类都有一个隐含的静态成员变量Class c1 = String.class//第二种,已...原创 2018-02-01 15:49:57 · 154 阅读 · 0 评论