![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
CloverYou
人生如戏 如同白驹过隙~
展开
-
接口幂等性-学习笔记
接口幂等性什么是幂等性接口幂等性就是用户对同一操作发起的一次请求或多次请求的结果是一致的,不会应为多次点击而产生问题,例如:支付场景,用户购买了商品支付和扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录变成了两条,这就是没有保证接口的幂等性产生的问题。可能出现幂等性问题的情况例如用户点击了多次按钮用户页面回退后再次提交微服务之间互相调用是,由于网络等其它原因,导致请求失败,feign 出发重试机制什么原创 2022-02-26 21:34:54 · 552 阅读 · 0 评论 -
RabitMQ基础学习笔记
概述大多应用中,可以通过消息服务中间件来提升系统异步通信、拓展解耦能力。消息服务中两个重要概念:消息代理(message broker)目的地(destination)当消息发送者发送消息后,将由消息代理接管,消息代理保证消息传递到指定目的地。消息队列主要有两种形式的目的地队列(queue):点对点消息通信(point-to-point)主题(topic):发布(publish)/订阅(subscribe)消息通信点对点:消息发送者发送消息,消息代理将其放入一个原创 2022-02-25 22:16:53 · 1398 阅读 · 1 评论 -
SpringCache
Spring Cache官方文档 https://docs.spring.io/spring-framework/docs/current/reference/html/integration.html#cacheSpring 从3.1开始定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术并支持使用 JCache(JSR-107)注解简化我们开发。Cache 接口为缓存的组原创 2022-01-07 17:09:36 · 993 阅读 · 0 评论 -
缓存数据的一致性
缓存数据的一致性读所有的数据,首先去缓存中获取,缓存中没有就去读数据库,最后在缓存中放一份。如果该数据在数据库中发生改变,那么缓存里面的数据如何和数据库保持一致?解决这个问题,目前有两个用的非常多的场景:双写模式失效模式双写模式修改数据库的数据后再修改缓存中的数据但又引出了一个问题,那就是当有并发时,线程一将数据库的值改为「一号」然后立刻将这个值保存到缓存,而保存过程中遇到了种种原因,如网络波动,导致了数据延迟抵达缓存服务器,而此时线程二已经将数据库数据改为「二号」然后将数据保存到缓存,线原创 2022-01-06 21:19:10 · 390 阅读 · 0 评论 -
使用nacos作为配置中心统一管理配置
基础环境引入所需依赖包<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>创建一个 bootstrap.properties 或 bootstrap.yaml 。其中指定项目名与配置中心服务器地址spring.ap原创 2021-11-19 16:40:30 · 1033 阅读 · 0 评论 -
SpringBoot Actuator 指标监控
指标监控官网相关文档SpringBoot Actuator未来每一个微服务在云上部署后,需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我门每个微服务快速引用即可获得生产级别的应用监控、审计等功能。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator&l原创 2021-10-19 10:56:50 · 556 阅读 · 0 评论 -
Spring和SpringMVC整合
SpringMVC和Spring整合的目的是为了分工明确。例如:SpringMVC的配置文件就来配置和网站转发逻辑以及网站功能有关的配置,如:视图解析器、文件上传解析器、支持ajax…而Spring的配置文件用来配置和业务有关的,如:事物控制、数据源…import可以在resources文件夹下创建三个配置文件:include-config.xml、spring-config、springmvc-confg在include-config.xml配置文件中使用spring提供的import标签引入并合原创 2021-08-16 19:25:28 · 721 阅读 · 0 评论 -
SpringMVC学习笔记
SpringMVC学习笔记使用Spring来实现Web模块,简化Web开发Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一Spring3.0后全面超越Struts2,成为最优秀的MVC框架SpringMVC通过一套MVC注解,让POJO(Plain Old Java Object/普通的Java对象)成为处理请求的控制器,而无需实现任何接口支持REST风格的URL请求采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性导包Sp原创 2021-08-16 10:30:43 · 143 阅读 · 0 评论 -
Spring学习笔记
Spring资料: https://pan.baidu.com/s/1aS4B69iA8-AtXqT7D9obXA 提取码: rczxSpring 是一个开源框架Spring为简化企业级开发而生,使用Spring,javaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能实现,而在Spring中却非常的优雅和简洁。Spring是一个IOC(DI)和AOP容器框架Spring的优良特性非侵入式基于Spring开发的应用中的原创 2021-08-16 10:18:39 · 204 阅读 · 0 评论 -
手撸Spring整合MyBatis玩具
源码在我GitHub上,有兴趣可以去观望一下:传送门这个只是个玩具、玩具、玩具,正经的还得看官方提供的整合包先说下这个玩具的问题所在吧!====>>> 无法提交事务和无法关闭SqlSession,嗯嗯嗯~~~开始吧~~难点若想使用Spring容器提供的强大功能,例如:Autowired,那么就需要让Spring容器将其管理。没整合之前,每次都需要通过SqlSessionFactory将其创建,一个两个还好,写多了整个人都麻了…所以我就想,能不能在service层直接注入呢?原创 2021-08-13 18:37:03 · 222 阅读 · 0 评论 -
MyBatis学习笔记
MyBatis 简介原是Apache的一个开源项目iBatis,2010年6月这个项目由Apache Software Foundation迁移到Google Code,随着开发团队转投Google Code旗下。iBatis3.x正式更名为MyBatis,代码于2013年11月迁移到GithubiBatis一词来源于“internet”和“abatis”的组合。是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)原创 2021-08-13 17:03:40 · 373 阅读 · 0 评论 -
idea创建普通Web项目lib目录无法输出,tomcat不报错踩坑记录
idea版本:2021.2tomcat版本:9.0.50项目结构创建一个普普通通的web项目,目录结构大概就是这样.├── .idea│ ├── artifacts│ ├── inspectionProfiles│ ├── libraries│ └── sonarlint│ └── issuestore├── conf├── lib├── out│ ├── artifacts│ │ └── test03_war_exploded│原创 2021-08-06 10:50:59 · 233 阅读 · 0 评论 -
SpringMVC中文乱码踩坑
问题使用SpringMVC在返回一个字符串时发生了中文乱码问题。produces属性无效@RequestMapping(value = "/nihao", produces = "text/plain;charset=UTF-8")@ResponseBodypublic String hello(HttpServletResponse response) throws UnsupportedEncodingException { User user = new User(); use原创 2021-08-01 21:30:22 · 238 阅读 · 0 评论 -
初学MyBatis(踩坑)Error querying database.
最近在学习Mybatis,代码全部根据教程写好了,一运行结果报了一个错误,主要错误内容:Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long###原创 2021-01-29 01:26:08 · 2083 阅读 · 1 评论 -
Java Spring Cloud服务间调用
A服务是用户服务,B服务某个需求需要用户信息,而B服务无法连接用户的数据库(分库),需要让A服务查询用户信息。在B服务写一个接口去调用A服务的某个请求/** * 访问member服务 */@FeignClient("member")public interface RemoteMemberService { /** * 查询用户信息 * @param memberIdAES 加密memberID * @return */ @PostMapping("/member原创 2020-10-09 16:56:25 · 158 阅读 · 0 评论