RabbitMQ——发布订阅模式
上文的工作队列模式是直接在生产者与消费者里声明好一个队列,这种情况下消息只会对应同类型的消费者。 显然这种只处理同种类型的消息是有弊端的。 举个用户注册的列子 门户网站,用户在注册完后一般都会发送消息…
RabbitMQ—工作队列模式
上文我们了解了 RabbitMQ 六种队列模式中的简单队列,代码也是非常的简单,比较容易理解。 但是简单队列有个缺点,简单队列是一一对应的关系,即点对点,一个生产者对应一个消费者,按照这个逻辑,如果我…
RabbitMQ—简单队列模式
在官网的教程中,描述了如上六类工作队列模式: 简单队列模式:最简单的工作队列,其中一个消息生产者,一个消息消费者,一个队列。也称为点对点模式工作模式:一个消息生产者,一个交换器,一个消息队列,多个消费…
Java—POI操作Excel
一、POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。   结构: HSSF - 提供读写…
Java—DecimalFormat(数字格式化)
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。DecimalFormat 包含一个模式 和一组符号。 符号含义: 上一个经典的表格,我们来说一说响应的…
MyBatis轻松实现递归查询与存储过程调用
项目中你是否会遇到这样的问题?菜单数据全写在一张表里,而我们需要用数组将这些数据存下来并交给前端大佬,问题的关键就是,我们怎么做才能将一级菜单数据—二级菜单数据—三级菜单数据······一一对应呢? …
MyBatis懒加载
1、需求:查询订单信息,有时候需要关联查出用户信息。 第一种方法:我们直接关联查询出所有订单和用户的信息 select * from orders o ,user u where o.user_id …
SpringSecurity—捋一遍登录流程( 从源码出发 )
先来大致描述一下问题场景: 你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Session 里,但是具体保存在哪里,…
SpringBoot—Thymeleaf ( 页面国际化 )
有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要学习国际化了! 准备工作 先在IDEA中统一设置properties的编码问题! 编写国际化配置文件,抽取页面需要显示的国际化页面消…
SpringBoot—整合Druid(阿里巴巴数据库连接池)
Druid简介 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB…
SpringBoot—自动配置原理
配置文件到底能写什么?怎么写? SpringBoot官方文档中有大量的配置,我们无法全部记住 分析自动配置原理 我们以HttpEncodingAutoConfiguration(Http编码自动配置)…
SpringBoot—运行原理探究
我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起; pom.xml 父依赖 其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件…
SpringMVC—Ajax结合
简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。…
SpringMVC中@RestController和@Controller的区别
在使用SpringMVC时,对于Controller中的注解@RestController和@Controller需要我们区分清楚 @RestController注解相当于@ResponseBody和…
整合SSM框架
整合SSM 环境要求 环境: IDEAMySQL 5.7.19Tomcat 9Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识…
SpringMVC笔记—乱码问题(补充)
测试步骤: 1、我们可以在首页编写一个提交的表单 <form action="/e/t" method="post"> <input type…
SpringMVC笔记—数据显示到前端(补充)
数据显示到前端 第一种 : 通过ModelAndView 我们前面一直都是如此 . 就不过多解释 public class ControllerTest1 impleme…
Spring笔记15—声明式事务
声明式事务 回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。 事务就是把一系列的动作当成一个独立的工作单…
Spring笔记14—整合MyBatis
整合MyBatis 步骤 1、导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>junit<…
MyBatis—一对多和多对一处理(另一个参考)
多对一的处理 多对一的理解: 多个学生对应一个老师如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师! 数据库设计 CREATE TABLE `teacher` ( `id` INT(1…
MyBatis笔记3.1—使用注解开发
面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因 :  解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实…
MyBatis笔记2.1—配置解析
核心配置文件 mybatis-config.xml 系统核心配置文件MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。能配置的内容如下: configuration(配…
Java—类加载内存
关于类加载内存里面的反射: http://www.enmalvi.com/2020/04/27/java-fanshe/ 1.类加载的流程 这里面的关键在于流程的三个点——加载,连接,初始化! 举个例…
Java—反射机制
反射是什么 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为j…
export default / export const(Vue)
export default 是默认导出 export const 是命名导出 Default Export (export default) 每个文件都可以有一个默认导出 export defaul…
Webpack-dev-server的proxy用法(Vue跨域)
前言 如果你有单独的后端开发服务器 API,并且希望在同域名下发送 API 请求 ,那么代理某些 URL 会很有用。解决开发环境的跨域问题(不用在去配置nginx和host, 爽歪歪~~) 在webp…
Axios的简单使用
安装 使用 npm: $ npm install axios 使用 bower: $ bower install axios 使用 cdn: <script src="https://unpkg…
SpringSecurity的几个重要词(简单的登录流程)
1.SecurityContextHolder:是安全上下文容器,可以在此得知操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保存在SecurityContextHolder中。 O…
SpringBoot—应用监控之Spring Boot Admin
Admin 简介 Spring Boot Admin 是 Spring Boot 应用程序运行状态监控和管理的后台界面。最新UI使用vue.js重写里。 Spring Boot Admin 为已注册的…
SpringBoot—应用监控之Spring Boot Actuator
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能。通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、C…