教程
ruiyeclub/SpringBoot-Hello: SpringBoot学习入门案例,持续更新中... :beer: (github.com)
工具
- toolbox
解决jetbrains-toolbox缺失修改安装路径默认安装C盘问题_jetbrains-toolbox安装位置-CSDN博客
- 全家桶破解
chrome浏览器:
- idea
- 优化
IDEA最全最常用的配置与性能优化(Java必备)_idea优化-CSDN博客
- 保存自动代码格式化设置
我在京东是如何一年绩效就拿到3次C的 | 一缕阳光 (arayofsunshine.dev)
- 使用
IntelliJ IDEA学习这一篇就够了,从入门到上瘾 - 知乎 (zhihu.com)
- 搜索
IntelliJ 的搜索和全局搜索怎么用 - 知乎 (zhihu.com)
- IDEA 常用快捷键
IDEA常用快捷键大全(建议收藏)! - 知乎 (zhihu.com)
IDEA中三种注释方式的快捷键_idea快速注释_Archie_java的博客-CSDN博客
- IDEA 快速查看类视图
IDEA如何快速查看类中的属性和方法?_idea怎么看一个类的所有方法-CSDN博客
- idea 快速生成 get set
IntelliJ IDEA生成get/set方法的快捷键是什么_idea生成get set快捷键-CSDN博客
- lombok 插件
最全一篇Lombok使用讲解,及原理,真香啊-腾讯云开发者社区-腾讯云 (tencent.com)
- IDEA Mark directory as
idea添加目录时,Mark Directory as的几个选项详解_金麟十三少的博客-CSDN博客
- IDEA 手动引入jar包
IDEA手动引入jar包方式_idea手动导入jar包_HELLFS的博客-CSDN博客
Idea导入jar包的两种方法_如何向idea导入jar_Golden_soft的博客-CSDN博客
- idea java 异常汇总
使用java命名packge引发异常
java.lang.SecurityException: Prohibited package name: java_我有满天星辰的博客-CSDN博客
idea properties或配置文件 FileNotFoundException 系统找不到指定的路径 路径问题
idea properties或配置文件 FileNotFoundException 系统找不到指定的路径 路径问题_看穿数据之美的博客-CSDN博客
maven 资源导出问题
maven资源文件的相关配置 - XRacoon - 博客园 (cnblogs.com)
关于在maven项目中配置文件资源导出问题 - yucreator - 博客园 (cnblogs.com)
Maven 资源导出问题 - 编程猎人 (programminghunter.com)
maven 配置失效
解决2019.2 IDEA中Maven环境配置后自动变回默认设置问题_爱喝椰汁的木木的博客-CSDN博客
maven 新建项目默认配置
避免每次都重新配置。
IDEA设置默认的maven配置_修改idea自带maven-CSDN博客
- windows-多jdk配置
本机删除的环境变量:
C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin
C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
安装多个版本jdk,可自由切换_安装多个jdk_琳1st的博客-CSDN博客
Win10下多版本JDK安装及管理 - 知乎 (zhihu.com)
- tomcat
2023.3 Idea配置Tomcat环境 - lockly - 博客园 (cnblogs.com)
java 学习资料
java8 api手册
- 中文
Java 8 中文版 - 在线API中文手册 - 码工具 (matools.com)
- oracle
Java Platform Standard Edition 8 Documentation (oracle.com)
Java SE 文档 — API 和文档 | Oracle 中国
书籍
- Effective Java
01. 考虑使用静态工厂方法替代构造方法 - 《Effective Java (高效 Java) 第三版》 - 书栈网 · BookStack
- java8-tutorial
winterbe/java8-tutorial: Modern Java - A Guide to Java 8 (github.com)
- java8-the-missing-tutorial
java github
- tobebetterjavaer
- java 全栈
java 博客
- 廖雪峰-Java
Java教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
- Java学习笔记
- 狂神说 java 全系笔记
Blog-Java: 狂神说视频学习的全部笔记、源码及一些个人项目。 (gitee.com)
springmvc 狂神说的详细笔记(完整版)_狂神springmvc笔记_Silverboss的博客-CSDN博客)
java 学习
第一个java程序
- java
main.java
class HelloJava{
public static void main(String[] args){
System.out.println("hello java");
}
}
javac main.java #编译
java HelloJava #运行
编译结果:
编译名为 class 名
详解第一个java程序——HelloWorld! - 知乎 (zhihu.com)
- c#
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello c#");
}
}
}
csc ./Program.cs #编译
./Program.exe #运行
编译结果:
编译名为Program,无论是否更改class名
JDK,JRE和JVM三者之间的关系
JDK,JRE和JVM是什么?三者有什么关系?二分钟搞定!!! - 知乎 (zhihu.com)
printf
Java | Output | .printf() | Codecademy
java 值传递
面试官:Java为什么只有值传递? - 知乎 (zhihu.com)
值类型、引用类型
Java数据类型(八种基本数据类型 + 四种引用类型)、数据类型转换-腾讯云开发者社区-腾讯云 (tencent.com)
java 异常机制
面向对象
class get set
- idea 快速生成 get set
IntelliJ IDEA生成get/set方法的快捷键是什么_idea生成get set快捷键-CSDN博客
继承
- 构造 继承
Java中的继承(extends)以及构造方法链-CSDN博客
- override overload
子类中标记重写:仅用于标记而已
@Override
public void Show() {
System.out.println("child" + "Name: " + super.getName() + " Age: " + super.getAge());
}
多态
- instanceof
泛型
一文带你搞懂 Java 泛型 - 知乎 (zhihu.com)
集合
- 排序
Java实际开发中,你都是怎么给List排序? - 知乎 (zhihu.com)
- 逆序
java8笔记: sorted()之正序倒序 - 我要变肥 - 博客园 (cnblogs.com)
- Stream
深入剖析Java Stream底层源码 - Xianuii - 博客园
多线程
java多线程使用详解与案例,超详细_java多线程使用案例-CSDN博客
反射
Java反射详解(内容爆炸的多和详细,一文让你彻底搞懂)-CSDN博客
注解
Java注解入门到精通,这一篇就够了_java 注解-CSDN博客
.class
一篇文章带你搞定 Java中 类名.class 的含义-CSDN博客
mvn 导出 jar,linux、windows运行
- 生成 jar
- 手动配置
java -jar *.jar
IDEA MAVEN项目打包成jar包的两种简单方式_maven file 转换jar-CSDN博客
- maven_shade_plugin
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<!-- <createDependencyReducedPom>true</createDependencyReducedPom>-->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Main 中Main为main函数所在class
Apache Maven Shade Plugin – Introduction
maven插件maven-shade-plugin打包jar文件使用详解_maven maven-shade-plugin-CSDN博客
多模块
【maven】最全Maven详解,看这一篇就够啦_maven依赖管理详解-CSDN博客
IDEA使用Maven创建父与子多模块项目_idea创建maven子模块-CSDN博客
netty写Echo Server & Client完整步骤教程(图文) - 田野与天 - 博客园
spring 历史文档入口
Spring Framework与JDK版本对应关系_org.springframework.core-3.0.5 jdk-CSDN博客
Spring Framework Documentation
Overview (Spring Framework 5.3.34 API)
如何查看SPRING-BOOT历史版本 - nakano_may - 博客园 (cnblogs.com)
关于Spring官方文档的一切(所有版本,pdf下载) - 赵米饭 - 博客园 (cnblogs.com)
IDEA 单元测试写法
Idea 使用 Junit4 进行单元测试-腾讯云开发者社区-腾讯云 (tencent.com)
spring ioc
@Autowired + xml
理解:
- 对象本身得构造需在.xml中得bean标签中正常配置,包括自身的构造、属性等;
- 对象间的构造注入可以使用 @Autowired 代替,免去bean中的ref的配置;
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!--开启注解的支持-->
<context:annotation-config/>
</beans>
【Spring】使用xml文件实现自动装配;使用注解@Autowired和@Resource实现自动装配_@autowired和@resource的装配过程-CSDN博客
@Commpent @Value
理解:
免去类本身在xml中的配置,及免去对应bean的配置
需要在*.xml中表明要扫描的包
<!--扫描包-->
<context:component-scan base-package="Model"/>
java 类配置
- 类中依赖类自动注入
这6种 Spring 依赖注入方式,你都会吗?-阿里云开发者社区 (aliyun.com)
示例:
@Configuration
public class AppConfig {
@Bean
public Person person() {
return new Person();
}
@Bean
public Dog dog() {
return new Dog();
}
}
@Component
public class Dog implements Showable {
public String getName() {
return name;
}
@Value("caxa2")
public void setName(String name) {
this.name = name;
}
@Value("caxa")
private String name;
@Override
public void show() {
System.out.println("dog " + this.name);
}
}
@Component
public class Person {
public Dog getDog() {
return dog;
}
@Autowired
private Dog dog;
public void show() {
dog.show();
System.out.println("person");
}
}
public class PersonTest {
@Test
public void test() {
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
Person p = (Person) context.getBean("person");
p.show();
}
}
mybatis
Java:MyBatis+SQLite使用实例_mybatis连接sqlite-CSDN博客
一对多关系
Mybatis一对多、多对一、批量插入_mybatis一对多插入usegeneratedkeys-CSDN博客
Mybatis一对多、多对一、批量插入_mybatis一对多插入usegeneratedkeys-CSDN博客
SpringBoot+MyBatis批量插入数据的三种方式 - helloliyh - 博客园 (cnblogs.com)
MyBatis进阶八:Mybatis批处理;(批量插入,批量删除,批量更新待写…)_mybatis 批处理-CSDN博客
mybatis 通用mapper
abel533/Mapper: Mybatis Common Mapper - Easy to use (github.com)
mybatis insert sql 中表明爆红
解决方法:IEDA中直接连接DB
.mapper 中时间的写法
mybatis xml时间范围查询三种方式_mybatis日期范围查询-CSDN博客
.mapper 中 形参
- #{} 带防参数注入
- ${} 不带,元数据,可用于动态表名
必须声明表变量 "@P0" ——mybatis提示错误_必须声明标量变量 "@p0group"。-CSDN博客
sql server 按分钟间隔查询
<select id="getDataByTime" resultType="com.caxa.monitor_data_webapi.mybatis.entity.Dr">
select * from DR${drId} where CollectTime between #{startTime} and #{endTime}
and datediff(MINUTE,#{startTime},#{endTime})%1=0
and not exists(
select * from DR${drId} where CollectTime between #{startTime} and #{endTime})
order by CollectTime asc
</select>
spring mvc
示例
Blog-Java: 狂神说视频学习的全部笔记、源码及一些个人项目。 (gitee.com)
web.xml
[springmvc] - 配置文件 springmvc-config.xml 和 web.xml - 武卡卡 - 博客园 (cnblogs.com)
IDEA在一个Project(工程)下创建多个Module(模块)_idea一个project下多个module-CSDN博客
Restfull
package com.mvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RestControl {
@RequestMapping(value = "/get", method = RequestMethod.GET)
public String get() {
return "get";
}
SpringMVC开发RESTful接口 - CoderJerry - 博客园 (cnblogs.com)
spring boot
IDEA 无法发选择 java8
IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决)_idea jre是17如何设置8-CSDN博客
IDEA debug spirng boot
Spring Boot 运行配置 _IntelliJ IDEA 中文网
spring boot读取properties中的值
SpringBoot四种读取properties文件的方式_springboot读取properties-CSDN博客
SpringBoot四种读取properties文件的方式 - 靠自己 - 博客园 (cnblogs.com)
6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)-腾讯云开发者社区-腾讯云 (tencent.com)
spring boot 启动后执行
Springboot启动后执行方法(4种) - 整合侠 - 博客园 (cnblogs.com)
spring boot 集成mybatis
Spring Boot 整合 MyBatis - spring 中文网 (springdoc.cn)
SpringBoot集成Mybatis保姆级教程(完整版)-腾讯云开发者社区-腾讯云 (tencent.com)
IDEA mapper 中 sql的格式化
Idea设置Mapper.xml文件中SQL命令格式化_idea mapper sql格式化-CSDN博客
@Autowired 和 @Resource注解的区别
【Spring实战】28 @Autowired 和 @Resource注解的区别与使用-CSDN博客
model mapper
SpringBoot项目中ModelMapper配置以及使用_org.modelmapper:modelmapper-CSDN博客
spring boot 新建项目,添加 mybatis 依赖
- 错误:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
在Spring Boot项目中连接SQL Server的几种方式_springboot连接sqlserver-CSDN博客
- 错误:Failed to parse config resource: class path resource [mybatis/mybatis-config.xml];
注意资源文件是否 build
<build>
<!-- 添加资源 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- src/main/resources下的指定资源放行 -->
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
(亲测解决)Unsatisfied dependency expressed through bean property 'sqlSessionFactory'-CSDN博客
有效
Unsatisfied dependency expressed through bean property ‘sqlSessionFactory‘报错解决-CSDN博客
- 错误:This application has no explicit mapping for /error, so you are seeing this as a fallback.
参考:
实际遇到的情况:
方法内部异常,访问数据库 数据model 与 数据库中的model,自动映射出错
spring boot 路由
- 资料
【Spring Boot】SpringBoot中的控制器和路由_java_Ricky_0528-开放原子开发者工作坊 (csdn.net)
- 接收 dateTime
spring boot 集成 swagger2
SpringBoot2.6.x及以上版本整合swagger文档 - yfwei - 博客园 (cnblogs.com)
spring boot 集成 swagger3
Spring Boot 使用 Swagger3 生成 API 接口文档-腾讯云开发者社区-腾讯云 (tencent.com)
Springboot 2.6.3 整合 Swagger3 - 龙卷风 - 我不生产代码,我只是代码的搬运工! (sviping.com)
SpringBoot2.6.x及以上版本整合swagger文档 - yfwei - 博客园 (cnblogs.com)
解决错误:
Error creating bean with name 'dataController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name
spring boot集成swagger3 - 路迢迢 - 博客园 (cnblogs.com)
限制扫描:
Swagger3.0介绍及springboot整合Swagger3.0_swagger 3.0-CSDN博客
导出pdf:
如何将 Swagger 导出为 JSON、Markdown、PDF、Word 文档 (apifox.com)
spring boot maven 打包 jar,运行无主体清单
Spring Boot 启动时 “jar中没有主清单属性” 异常 - spring 中文网 (springdoc.cn)
jar windows 服务部署
SpringBoot项目jar包部署成windows服务教程_将springboot打包成的jar文件做成windows服务-CSDN博客
错误:# IDEA Disconnected from the target VM, address: ‘127.0.0.1:64377‘, transport: ‘socket)
自己的解决:选错的debug的项目
spring boot 集成 日志
- aop
springboot集成系统操作日志超详细_springboot syslog-CSDN博客
- 日志
在 Spring Boot 中使用 Logback 和 Log4j2 记录日志 - spring 中文网 (springdoc.cn)
Spring Boot 日志配置 - spring 中文网 (springdoc.cn)
SpringBoot 整合日志模块 - 掘金 (juejin.cn)
- 日志按需求输出至多文件
SpringBoot+logback实现按业务输出日志到不同的文件 - zeng1994 - 博客园 (cnblogs.com)
spring boot 观察者&发布订阅
SpringBoot事件监听机制及观察者模式/发布订阅模式-阿里云开发者社区 (aliyun.com)
spring boot 定时任务
玩转SpringBoot:SpringBoot的几种定时任务实现方式 - 码农Academy - 博客园 (cnblogs.com)
- SchedulingConfigurer
SpringBoot+SchedulingConfigurer实现动态定时任务 - 掘金 (juejin.cn)
springboot定时任务—实现SchedulingConfigurer接口做定时调度(一)-CSDN博客
实现较全
Spring SchedulingConfigurer 实现动态定时任务-CSDN博客
SpringBoot 动态可配定时任务(动态定时任务) - 码农界的苦逼猿 - 博客园 (cnblogs.com)
google 包
为什么ThreadFactoryBuilder不见了(不是版本问题!!!)_threadfactorybuilder dependency not found-CSDN博客
Maven Repository: com.google.guava » guava » 33.2.1-jre (mvnrepository.com)
spring boot 集成http client
【HttpClient】在 SpringBoot 中使用 HttpClient 实现 HTTP 请求_springboot httpclient-CSDN博客
application.properties 中文乱码
解决中文乱码
如何处理从application.properties配置文件获取的汉字乱码问题_application.properties中文乱码-CSDN博客
Mybatis出现Mapped Statements collection already contains value for
- 参考
实际遇到的天坑:
错误配法:会引起 mpper.xml 多次被扫描
mybatis:
mapper-locations: classpath:mappers/*Mapper.xml
正确配法
mybatis:
mapper-locations: classpath:mappers/*Mapper
mybatis
批量更新
不要再写循环了!mybatis批量插入数据,批量更新集合list它不香吗?_mybatis replace list-CSDN博客
批量级联更新
【mybatis】mysql级联更新两个表或多张表的数据 - Angel挤一挤 - 博客园 (cnblogs.com)
【mybatis】mysql级联更新两个表或多张表的数据-CSDN博客
sqlite 不支持级联update join