Java
Java/Spring/SpringBoot/SpringCloud
wifiiiiiiii
You may see me struggle, but you will never see me fall
展开
-
SpringBoot @Valid不起效,BindingResult读取不到Error信息
我这边不起效的问题是引错了依赖包一开始我引入的包是:<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version></dependency>后面改成了下面的依赖就可以了:<dependency>原创 2020-11-02 09:04:52 · 930 阅读 · 0 评论 -
启动SpringCloud - Gateway,抛Failed to instantiate DiscoveryLocatorProperties
版本信息SpringBoot-version: 2.3.1.RELEASESpringCLoud-version: Hoxton.SR1错误信息org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'discoveryLocatorProperties' defined in class path resource [org/springframework/cloud/gatew原创 2021-02-04 16:01:32 · 1007 阅读 · 0 评论 -
SpringCloud 之 Eureka注册服务后,IP地址不对的问题
问题解决的办法在注册服务的项目配置中加入:eureka: instance: hostname: ${spring.cloud.client.ipAddress}# springcloud2.x的话eureka: instance: hostname: ${spring.cloud.client.ip-address}原创 2020-10-14 14:04:59 · 3167 阅读 · 0 评论 -
Redis 之 SessionCallback & RedisCallback 使用
SessionCallback & RedisCallback 的作用是:让RedisTemplate进行回调,通过它们可以在同一条连接下执行多个Redis命令。BeforeredisTemplate.opsForValue().set("key0", "value0");redisTemplate.opsForHash().put("hash0", "field", "test");SessionCallbackredisTemplate.execute(new SessionCal原创 2020-10-14 07:56:10 · 9456 阅读 · 1 评论 -
Spring Boot学习 之 Bean的作用域
1. 作用域类型作用域类型使用范围作用域描述singleton所有Spring应用默认值,IoC容器 只存在单例prototype所有Spring应用每当从 IoC容器 中取出一个Bean,则创建一个新的BeansessionSpring Web应用HTTP会话applicationSpring Web应用Web工程生命周期requestSpring Web应用Web工程单次请求(request)globalSessionSprin原创 2020-09-28 07:27:06 · 404 阅读 · 0 评论 -
Current charset is UTF-8. If password has been set using other charset... 解决办法
因为用的是MySQL 8.0.21的版本,所以密码规则和之前版本的不太一样。所以,在用项目中连接MySQL的时候,就抛了:Current charset is UTF-8. If password has been set using other charset, consider using option ‘passwordCharacterEncoding’ 的异常。我是用下面的方式解决的:alter user 'username'@'%' identified with mysql_nativ原创 2020-08-28 10:53:36 · 18565 阅读 · 0 评论 -
Spring Boot学习 之 关于读取配置文件的方法
配置文件spring.datasource.url=jdbc:p6spy:h2:mem:testdbspring.datasource.username=sa@Value@Value注解,使用 ${…} 占位符读取配置在属性文件的内容。@Value,既可以加载属性,也可以加在方法上。@Componentpublic class DatasourceEntity { @Value("${spring.datasource.url}") private String url;原创 2020-07-29 21:43:35 · 270 阅读 · 0 评论 -
记录:用Java语言实现双向链表(增删查)
节点对象public class Node<T> { public T value; public Node pre = null; public Node next = null; public Node(T value, Node pre, Node next) { this.value = value; this.pre = pre; this.next = next; }}双向链表publ原创 2021-04-26 22:08:52 · 77 阅读 · 0 评论 -
SpringBoot + Dubbo + zookeeper Demo
文章目录1.1 什么是 Duboo?1.2 Dubbo 架构1.3 什么是 RPC?1.4 环境搭建1.4.1 zookeeper搭建1.4.2 项目结构1.4.3 interfaces项目1.4.4 provider项目1.4.5 consumer项目1.4.6 测试1.5 小结1.6 参考1.1 什么是 Duboo?Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡原创 2021-03-04 07:58:23 · 206 阅读 · 1 评论 -
@Cacheable @CachePut @CacheEvict @Caching @CacheConfig
文章目录Spring Boot的缓存注解详细使用@Cacheable缓存key的默认生成策略通过注解自定义key通过实现接口定义缓存key同步缓存@CachePut@CacheEvict@Caching@CacheConfigSpring Boot的缓存注解详细使用@Cacheable可以使用@Cacheable来划分可缓存的方法,即将结果存储在缓存中的方法,以便在后续调用(具有相同参数)时返回缓存中的值无需实际调用该方法。缓存key的默认生成策略public class SimpleKeyGen翻译 2020-11-11 17:26:02 · 186 阅读 · 0 评论 -
执行java -jar xxx.jar时,抛异常:no main manifest attribute
原因pom.xml 文件中,少了 spring-boot-maven-plugin 插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <原创 2020-09-10 09:36:22 · 135 阅读 · 0 评论 -
契约测试 之 常用注解解释、DSL提供的API使用、不同实体类的consumer测试写法、Provider测试写法,提供完整代码
Contract testing1. 限制consumer & provider 最好都是由同一个Team维护无法对公共API使用Contract testing2. Pact与其他工具的对比Pact与其他工具的对比Spring Cloud ContractAccurestNockVCRWebmockPacto3. 支持的语言JSJestMochaKarma + JasmineKarma + MochaAngular 4 + MochaJava原创 2020-09-02 07:41:21 · 579 阅读 · 0 评论 -
初识CQRS
Martin Fowler我们不应该使用既能修改数据也能返回数据的方法,这样我们就有了两种类型的方法:查询:返回数据但不修改数据,因此没有副作用命令:修改数据但不返回数据CQRS: Command Query Responsibility Segregation1. CRUD围绕关系数据库构建而成的“创建、读取、更新、删除”系统(即CRUD系统),此类系统在一些业务逻辑简单的项目中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。2. CQRS简单的说原创 2020-08-06 17:04:03 · 486 阅读 · 0 评论 -
Java多线程 - 学习 + 记录
线程状态转移图New -> Runnablepublic class Main { public static void main(String[] args) { Thread t = new Thread(() -> { System.out.println("线程启动!!"); }); t.start(); }}之前学多线程都是偏理论多一点,也是看书和简单的demo就完事了,而且平时也很少原创 2020-08-21 08:46:45 · 254 阅读 · 0 评论 -
Spring Web Flow 文档学习
官网资料Spring Web Flow overviewSpring Web Flow API Doc.Spring Web Flow Reference Guide1. 介绍1.1 环境需求Java 1.8 及以上Spring 5.0 及以上1.2 基于Maven的Jar包引入<dependency> <groupId>org.springframework.webflow</groupId> <artifactId>翻译 2020-07-27 15:22:48 · 1146 阅读 · 0 评论 -
Spring @Autowired, @Primary, @Qualifier
首先创建一个Animal的接口public interface Animal { void use();}有两个实现类,分别是:Cat & Dog@Servicepublic class Dog implements Animal { @Override public void use() { System.out.println("Dog!!!!"); }}@Servicepublic class Cat implements A原创 2020-07-20 22:27:07 · 121 阅读 · 0 评论 -
SpringBoot @Cacheable简单使用
@Cacheable官方例子官方文档简单来说:Spring将会拦截我们的目标方法,检查是否之前已经调用过。如果调用过,则会返回缓存值的副本。否则,将会执行目标方法、存储返回值到缓存中,最后返回值。流程有一张类似support data的数据表,里面的数据基本上不会变化。在取这张表的数据时,会根据传入的参数进行一些逻辑判断,在参数一定的前提下,返回的数据是一样的。准备数据库create table t_dictionaries( id int not null primary key,原创 2020-06-24 16:24:01 · 337 阅读 · 1 评论 -
Spring Boot + EventListener 实现观察者模式
最近接触一个新项目,想要在一些发送、接收消息中间件的消息时,把关键的数据记录到数据库中,方便快速定位线上问题。目前想到两种实现的方式:一种是写一个service,另一种就是用 @EventListener。程序中,业务处理更为重要,不希望在调用记录数据的service过程中,遇到异常后,还会影响正常的业务逻辑。所以更偏向于使用 @EventListener 进行处理。整体代码结构controllerStudentController (入口)entitesRecord (Stude原创 2020-06-15 23:12:53 · 607 阅读 · 0 评论 -
Java时间转换过程中 12小时制与24小时制
时间获取后为12小时制的缘故是:SimpleDateFormat在转化时间格式的时候,HH:mm表示为24小时制,hh:mm表示为12小时制原创 2020-05-19 23:04:35 · 251 阅读 · 0 评论