Java天下第1
Java后端工程师。
展开
-
【ShardingSphere】水平分库分表配置方法
例如,aD7Rt87 第一个字母a就代表是在dsa库中,就会根据这个code把数据存入dsa的数据库。#----------短链组,策略:水平分库,不水平分表-------------# 指定分库的依据是code,此处code的结构是 库标记+内容+表标记。# 声明分库的数据库名称,分别是ds0,ds1,dsa。# 先进行水平分库,水平分库策略,行表达式分片。# 主要看这里,根据策略进行分库。# 分别建立这三个数据库的配置。# 雪花算法生成ID。原创 2022-10-22 14:57:17 · 782 阅读 · 0 评论 -
一篇《万字文章》让你从O精通——高性能消息队列RabbitMQ的使用(结合spring boot)
文章目录一、什么是MQ消息中间件二、使用场景三、什么是JMS、AMQP和MQTT消息服务3.1 什么是JMS?3.1.1 JMS特性3.1.2 JMS常见概念3.1.3 MQ基础编程模型3.2 消息队列协议AMQP3.2.1 AMQP特性3.2.2 AMQP和JMS的主要区别3.3 MQTT是什么?3.3.1 背景:3.3.2 原因3.3.3 特性四、主流的消息队列和选择问题4.1 ActiveMQ:[http://activemq.apache.org/](http://activemq.apache.o原创 2021-02-09 14:55:29 · 441 阅读 · 0 评论 -
大神带你玩转高级Mybatis——一篇文章精通讲解spring的IOC设计思想和DI依赖注入讲解
请关注订阅,本专栏会详细讲解Mybatis,实现网站的开发本篇内容专门为从事Java后端开发的面试者提供帮助,精准解决面试遇到的问题,欢迎讨论关注微信公众号,可免费获取资料IOC设计思想IOC Inverse of Control(控制反转)是一种设计思想 将原本在程序中手动创建对象的流程,交由Spring框架来管理核心:把创建对象的控制权反转给Spring框架,对象的生命周期由Spring统一管理.把spring ioc 当成一个容器,里面存储管理的对象称为Bean,类实例案例实操 配置原创 2021-01-22 15:37:41 · 170 阅读 · 2 评论 -
大神带你玩转高级Mybatis——一篇文章精通mybatis—如何使用懒加载
请关注订阅,本专栏会详细讲解Mybatis,实现网站的开发本篇内容专门为从事Java后端开发的面试者提供帮助,精准解决面试遇到的问题,欢迎讨论关注微信公众号,可免费获取资料什么是懒加载?按需加载,先从单表查询,需要时再从关联表去关联查询,能大大提高数据库性能,并不是所有场景下使用懒加载都能提高效率Mybatis懒加载: resultMap里面的association、collection有延迟加载功能开启懒加载<!--全局参数设置--><settings>原创 2021-01-22 14:04:32 · 145 阅读 · 1 评论 -
大神带你玩转高级Mybatis——一篇文章精通mybatis—如何使用一级缓存、二级缓存
请关注订阅,本专栏会详细讲解Mybatis,实现网站的开发本篇内容专门为从事Java后端开发的面试者提供帮助,精准解决面试遇到的问题,欢迎讨论关注微信公众号,可免费获取资料什么是缓存?程序经常要调用的对象存在内存中,方便其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提高性能.一级缓存和二级缓存调用顺序?优先查询二级缓存-》查询一级缓存-》数据库Mybatis一级缓存简介:一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的原创 2021-01-22 13:54:23 · 136 阅读 · 0 评论 -
SpringBoot高级开发——一篇文章让你读懂——SpringBoot是如何实现AOP的。(@Aspect)
请关注订阅,本专栏会详细讲解JAVA+SpringBoot高级开发,实现网站的开发本篇内容专门为从事Java后端开发的面试者提供帮助,精准解决面试遇到的问题,欢迎讨论AOP基础概念AOP的本质就是 约定,通过和我们约定,把对应的方法通过动态代理的技术织入到约定的流程中。如何约定?将一些业务逻辑织入到流程中,将一些通用的逻辑抽取出来,给予默认实现,程序员只需要完成需要改动的部分。优点?开发者需要编写的代码更加简洁、效率更高。连接点(join point)?被拦截的方法,比如某个接口中的某个方法原创 2021-01-19 13:39:04 · 273 阅读 · 1 评论 -
大神带你玩转高级Mybatis——一篇文章精通mybatis复杂Sql查询——resultMap精讲association和collection
Mybatis的SQL语句返回结果有两种resultType查询出的字段在相应的pojo中必须有和它相同的字段对应,或者基本数据类型适合简单查询resultMap需要自定义字段,或者多表查询,一对多等关系,比resultType更强大适合复杂查询举例<resultMap id="VideoResultMap" type="Video"> <!-- id 指定查询列的唯一标示 column 数据库字段的名称原创 2021-01-18 18:17:52 · 1918 阅读 · 4 评论 -
大神带你玩转高级Mybatis——一篇文章精通mybatis—如何快速掌握Mybatis的基本概念以及高级使用(打印sql、别名、驼峰配置 、如何获得自增主键、批量插入foreach、if test)
什么是 MyBatis ?Apahce的一个开源项目一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作通过简单的 XML 或注解来配置和映射 Java对象 到 数据库中的记录官方地址:https://mybatis.org/mybatis-3/核心流程?每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心SqlSessionFactory 的实例可以通过 SqlSessionF原创 2021-01-18 17:31:01 · 161 阅读 · 0 评论 -
SpringBoot高级开发——一篇文章让你读懂SpringBoot如何整合定时任务和异步任务 ( @EnableScheduling @Scheduled EnableAsync Future)
简单定时任务SpringBoot使用注解方式开启定时任务启动类里面 @EnableScheduling开启定时任务,自动扫描定时任务业务类 加注解 @Component被容器扫描定时执行的方法加上注解 @Scheduled(fixedRate=1000) 定期执行一次运行结果:几乎1s执行一次cron 定时任务表达式@Scheduled(cron="*/1 * * * * *") 表示每秒crontab 工具 https://tool.lu/crontab/fi原创 2021-01-18 15:15:35 · 948 阅读 · 3 评论 -
SpringBoot高级开发——一篇文章让你读懂SpringBoot如何整合模板引擎Thymeleaf 和Freemarker
简单介绍 JSP 、Freemarker、ThymeleafJSP(后端渲染,消耗性能)Java Server Pages 动态网页技术,由应用服务器中的JSP引擎来编译和执行,再将生成的整个页面返回给客户端可以写java代码持表达式语言(el、jstl)内建函数JSP->Servlet(占用JVM内存)permSizejavaweb官方推荐springboot官方不推荐FreemarkerFreeMarker Template Language(FTL) 文件一般保存为 xxx.原创 2021-01-17 18:33:24 · 162 阅读 · 0 评论 -
SpringBoot高级开发——一篇文章让你读懂 注解@WebFilter和@WebListener 开发中常用的过滤器、监听器和拦截器
过滤器、监听器、拦截器简介监听器:listener是servlet规范中定义的一种特殊类。用于监听servletContext、HttpSession和servletRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。用于在事件发生前、发生后做一些必要的处理。其主要可用于以下方面:1、统计在线人数和在线用户2、系统启动时加载初始化信息3、统计网站访问量4、记录用户访问路径。过滤器:Filter是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服原创 2021-01-17 15:41:51 · 971 阅读 · 3 评论 -
SpringBoot注解配置⽂件映射属性和实体类实战
使⽤@value注解配置⽂件⾃动映射到属性和实体类配置⽂件加载⽅式⼀1、Controller上⾯配置 @PropertySource({“classpath:resource.properties”})2、增加属性 @Value("${test.name}") private String name;⽅式⼆:实体类配置⽂件1、添加 @Component 注解;2、使⽤ @PropertySource 注解指定配置⽂件位置;3、使⽤ @ConfigurationProperties 注解,设置原创 2020-08-31 21:07:33 · 240 阅读 · 0 评论 -
SpringBoot⽬录⽂件结构和官⽅推荐的⽬录规范、静态资源访问
讲解SpringBoot⽬录⽂件结构和官⽅推荐的⽬录规范、静态资源访问⽬录讲解src/main/java:存放代码src/main/resourcesstatic: 存放静态⽂件,⽐如 css、js、image, (访问⽅式 http://localhost:8080/js/main.js)templates:存放静态⻚⾯jsp,html,tplconfig:存放配置⽂件,application.propertiesresources:同个⽂件的加载顺序,静态资源⽂件 Spring Boot原创 2020-08-10 18:02:09 · 160 阅读 · 0 评论 -
SpringBoot2.x常⻅配置⽂件形式
常⻅的配置⽂件格式xml、properties、json、yamlSpringboot⾥⾯常⽤xx.ymlYAML(Yet Another Markup Language)写 YAML 要⽐写 XML 快得多(⽆需关注标签或引号)使⽤空格 Space 缩进表示分层,不同层次之间的缩进可以使⽤不同的空格数⽬注意:key后⾯的冒号,后⾯⼀定要跟⼀个空格,树状结构server: port: 8080 //设置启动端⼝号为8080 house: family: name: Doe原创 2020-08-31 19:20:06 · 347 阅读 · 0 评论 -
SpringBoot注解配置文件映射属性和实体类实战
方法一:创建一个 pay.properties 文件内容:# 微信支付的appIdwxPay.appId = zfh816717# 微信支付密钥wxPay.secret = asdfghjkl# 微信支付商户号wxPay.appUId = a111创建 TestController 文件@RestController@RequestMapping("/api/v1/pub/test")@PropertySource({"classpath:pay.properties"})pu原创 2020-08-11 19:07:57 · 159 阅读 · 0 评论 -
SpringBoot2.X⾥⾯定制JSON字段@JsonIgnore @JsonFormat @JsonInclude @JsonProperty
SpringBoot配置Jackson处理字段常⽤框架 阿⾥ fastjson,⾕歌gson等JavaBean序列化为Json,性能:Jackson > FastJson > Gson > Json-lib 同个结构Jackson、FastJson、Gson类库各有优点,各有⾃⼰的专⻓空间换时间,时间换空间jackson处理相关⾃动指定字段不返回:@JsonIgnore指定⽇期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",loc原创 2020-08-10 19:07:58 · 246 阅读 · 0 评论 -
实战RequestBody对象数组提交接⼝开发 讲解JSON对象提交,批量插⼊接⼝开发
实战RequestBody对象数组提交接⼝开发 讲解JSON对象提交,批量插⼊接⼝开发POST请求-RequestBody⽅式场景:json对象映射,数组对象提交接⼝开发注解:@PostMapping = @RequestMapping(method = RequestMethod.POST)开发功能:新增视频json对象,章数组提交Video 类public class Video implements Serializable { private Integer id; p原创 2020-08-10 18:37:15 · 224 阅读 · 0 评论 -
SpringBoot2.X开发HTTP接⼝POST请求实战
开发一个登录接口POST请求-form表单场景:表单提交,如果不⽤细分PUT/DELETE⽅法,则都可以⽤POST注解:@PostMapping = @RequestMapping(method = RequestMethod.POST)开发功能:账号密码提交登录接⼝,form表单形式方式一 @PostMapping("login") public JsonData login(String username, String password) { System.ou原创 2020-08-10 18:24:16 · 169 阅读 · 0 评论 -
SpringBoot2.X统⼀接⼝返回协议-掌握开发规范
存在的问题:协议未统⼀,缺少业务状态码JSONData⼯具类开发第一种public class JsonData { private int code; private Object data; private String msg; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public Object getData() { return d原创 2020-08-10 18:05:57 · 118 阅读 · 0 评论 -
SpringBoot2.X常⽤的注解
**@Controller 作⽤:**⽤于标记这个类是⼀个控制器,返回⻚⾯的时候使⽤;如果要返回JSON,则需要在接⼝上使⽤@ResponseBody才可以**@RestController 作⽤:**⽤于标记这个类是⼀个控制器,返回JSON数据的时候使⽤,如果使⽤这个注解,则接⼝返回数据会被序列化为JSON所以:@RestController = @Controller+@ResponseBody**@RequestMapping 作⽤:**路由映射,⽤于类上做1级路径;⽤于某个⽅法上做⼦路径@S原创 2020-08-10 08:37:30 · 270 阅读 · 0 评论 -
SpringBoot2.X开发HTTP接口GET请求实战
GET请求场景:⼀般的查询接⼝就是get请求注解:@GetMapping = @RequestMapping(method = RequestMethod.GET)⼀个顶两的注解@GetMapping = @RequestMapping(method = RequestMethod.GET)@PostMapping = @RequestMapping(method = RequestMethod.POST)@PutMapping = @RequestMapping(method = Reques原创 2020-08-08 13:55:35 · 216 阅读 · 0 评论