# springboot-demo **Repository Path**: sawyes/springboot-demo ## Basic Information - **Project Name**: springboot-demo - **Description**: JAVA SpringBoot 技术栈学习Demo - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-14 - **Last Updated**: 2024-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot ## README # SpringBoot-demo Fork me on Gitee [![peter/springboot-demo](https://gitee.com/sawyes/springboot-demo/widgets/widget_card.svg?colors=4183c4,ffffff,ffffff,e3e9ed,666666,9b9b9b)](https://gitee.com/sawyes/springboot-demo) [commons.apache.org依赖包](https://commons.apache.org/proper/) ## 介绍 有一日逛到[xkcoding/spring-boot-demo](https://github.com/xkcoding/spring-boot-demo)项目有感, 虽然有自己搭建的私人笔记网站, 但是这么多年了也没沉淀代码 有时候仅仅笔记, 是无法复现和说明问题, 所以还是试试这个, 跟着Demo走一遍. 所以, 这不是一个严格意义上的项目, 只是笔记. ## 开发环境 * jdk 1.8 * mysql 5.7 * maven 3.63 * OS: Mac/Window 10 * springboot 2.3.7.RELEASE ## jdbc连接说明 ``` url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&tinyInt1isBit=false&serverTimezone=Asia/Shanghai ``` * `tinyInt1isBit=false` (default: true), https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html * `UTF-8` For 5.1.47 and later: utf8mb4, 参考 https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html * `zeroDateTimeBehavior=convertToNull`, 参考 https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-installing-upgrading-3-0-to-3-1.html * `profileSQL=true` 开发环境调试SQL非常有用,可以直接看见原生SQL 参考 https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-conn-props-ueConfigs.html ## Demo 列表 | Module 名称 | Module 介绍 | | ------------------------------------------------------------ |-----------------------------------------------------------------------------------------------------| | [maven-demo-bean-factory-singleton](./maven-demo-bean-factory-singleton)| 结合工厂和单例理解Bean实现, 单例知识点,synchronized和volatile | | [maven-demo-test](./maven-demo-test) | maven集成测试test | | [maven-demo-spring](./maven-demo-spring) | maven集成spring | | [maven-demo-jdbc](./maven-demo-jdbc) | maven集成测试jdbc | | [maven-demo-mybatis-manual](./maven-demo-mybatis-manual) | maven整合mybatis
整合mybatis使用Druid管理连接池
通过动态注入配置(用户名/密码)整合Druid连接池 | | [maven-demo-proxy](./maven-demo-proxy) | 动态代理 | | [maven-demo-totp](./maven-demo-totp) | totp 动态秘钥算法demo | | [spring-demo-bean-scope](./spring-demo-bean-scope) | spring bean 生命周期, 成员变量控制问题 | | [spring-demo-druid](./spring-demo-druid) | spring集成druid | | [maven-demo-enum](./maven-demo-enum) | enum 常规用法, 实例代码, 状态码枚举, 方法枚举 | | [maven-demo-template-variable](./maven-demo-template-variable) | 模板变量替换,org.apache.commons.text包使用 | | [maven-demo-time](./maven-demo-time) | 时间,日期操作类 | | [maven-demo-redson-spring-boot-starter](./maven-demo-redisson-spring-boot-starter)| 自定义starter步骤 | | [spring-demo-starter-redisson-client](./spring-demo-starter-redisson-client)| 引入用自定义starter ,验证[maven-demo-redson-spring-boot-starter](./maven-demo-redisson-spring-boot-starter) | | [spring-demo-redis](./spring-demo-redis) | spring集成redis, redis template工具类封装 | | [spring-demo-arthas](./spring-demo-arthas) | 学习arthas排查线上错误 | | [spring-demo-web](./spring-demo-web) | 学习spring demo web项目搭建,统一CommonResult,集成Selenium测试框架, SpringbootCliApplication 命令行cli使用 | | [spring-demo-oom](./spring-demo-oom) | 了解JVM运行时数据区各个情况的OOM | | [spring-demo-xxljob-client](./spring-demo-xxljob-client) | xxljob入门示例 | | [spring-demo-job-annotation](./spring-demo-job-annotation) | 模仿XXLJOB原理,实现扫描注解方法,然后根据需要调度 | | [spring-demo-netty-websocket](./spring-demo-netty-websocket) | 验证websocket | | [spring-demo-mybatis-plus](./spring-demo-mybatis-plus) | SpringBoot整合MyBatisPlus入门 | ## IDEA设置 插件列表 * Free Mybatis plugin * Markdown Image Kit #### Markdown Image Kit插件 先创建一个仓库专门用作图床,这样由插件异步上传图片并生成图片地址, 非常方便 > token是个人令牌 ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-20-0BXkDC.png) ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-20-EnR8Pf.png) #### Intellij IDEA在controller中使用@Autowired注解,出现could not autowire错误 测试类容易Autowired 连接池, 实际运行不报错,但是IDEA提示错误, 需要关闭, 不然影响测试打包 File-->setting-->Inspections * Spring->Spring Core->Code->Autowiring for Bean Class 错误等级设置为 warning ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-20-uvRufs.png) #### .editorconfig 风格统一 * EditorConfig的匹配规则是从上往下,即先定义的规则优先级比后定义的优先级要高。 * 对于VS Core,对应的插件名是EditorConfig for VS Code。 ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-20-0KLm6u.png) #### 文件和代码模板 维护作者以及日期信息 ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-21-ZNUxwc.png) #### java,xml代码注释缩进(默认顶格) ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-28-sCjxOW.png) ![](https://gitee.com/sawyes/myimages/raw/master/image/2021-11-28-3l121V.png) ## 延伸阅读 * [Java JDBC和Mysql 字段类型, 你必须了解](https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html) * [Mysql utf8mb4 字符集问题](https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html) * [jdbc url reConfigs](https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-conn-props-ueConfigs.html) * [Query、VO、DTO、BO、DO、PO的区别和联系](https://blog.csdn.net/weixin_36337122/article/details/114807625?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242) * [设计模式](https://www.runoob.com/design-pattern/design-pattern-tutorial.html) ## License [MIT](http://opensource.org/licenses/MIT) Copyright (c) 2021 Peter Wu