Spring 之数据源
Spring 之数据源 本文基于 Spring Boot 2.7.3 版本。 Spring Boot 数据源基本配置Spring Boot 提供了一系列 spring.datasource.* 配置来控制 DataSource 的配置。用户可以在 application.properties 或 application.yml 文件中指定数据源配置。这些配置项维护在 DataSourceProperties 。 下面是一个最基本的 mysql 数据源配置示例(都是必填项): 12345678# 数据库访问地址spring.datasource.url = jdbc:mysql://localhost:3306/spring_tutorial?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8# 数据库驱动类,必须保证驱动类是可加载的spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver# 数据库账号spring.datasourc...
hexo + butterfly 的 md 常用语法记录
折叠块 隐藏内容的标题 隐藏文字隐藏文字隐藏文字。 支持 markdown 语法 支持标题 mermaid 教程 flowchart LR markdown["`This **is** _Markdown_`"] newLines["`Line1 Line 2 Line 3`"] markdown --> newLines https://mermaid.nodejs.cn/ecosystem/tutorials.html md 中引入其他md🚀 java基础可以查看 🚀 java基础#Nubmer小标题
Java查漏补缺
基础工具类String String 类能被继承吗? String,StringBuffer,StringBuilder 的区别。 String 类不能被继承。因为其被 final 修饰,所以无法被继承。 StringBuffer,StringBuilder 拼接字符串,使用 append 比 String 效率高。因为 String 会隐式 new String 对象。 StringBuffer 主要方法都用 synchronized 修饰,是线程安全的;而 StringBuilder 不是。 面向对象 抽象类和接口的区别? 类可以继承多个类么?接口可以继承多个接口么?类可以实现多个接口么? 类只能继承一个类,但是可以实现多个接口。接口可以继承多个接口。 继承和聚合的区别在哪? 一般,能用聚合就别用继承。聚合是“has-a”,类似 school 类存在 teachers 的变量。 反射⭐ 创建实例 反射创建实例有几种方式? 通过反射来创建实例对象主要有两种方式: 用 Class 对象的 newInstance 方法。 用 Constructor 对象的 newIns...
windows安装sftp
参考链接https://blog.csdn.net/qinhuaifeng/article/details/134422259
java 整合 modbus
整合 modbus 小 demo配置 maven 依赖123456789<dependency> <groupId>com.infiniteautomation</groupId> <artifactId>modbus4j</artifactId> <version>3.1.0</version></dependency><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId></dependency> ModbusServer123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051@Slf4jpublic class ModbusSe...
Windows 使用笔记
Windows 常用快捷键 截图:win + shift + s 修改注册表显卡型号目的:开启鸣潮pc端极致画质,官方只对4090以上的显卡开放。因此,我们需要修改注册表中的显卡型号,重启电脑后,就可以开启极致画质。 步骤: 在设备管理器中找到 显示适配器/显卡型号/详细信息,在属性中找到设备实例路径,复制他的值:PCI\VEN_10DE&DEV_1C81&SUBSYS_11C01028&REV_A1\4&E482FF8&0&0008 win+r 输入 regedit,打开注册表。找到这个路径计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI,在后面加上步骤一,复制的值,注意PCI有时候会重复,注意取消,或者依次找寻。 找到 DeviceDesc ,将其值的最后的 GPU 型号修改为 4090,保存重启电脑,即完成。 N卡滤镜开启目的:解决N卡有时候失效的问题。方式:打开任务管理器,找到服务,打开服务界面(一定要打开服务界面,这个任务没有显示在任...
设计模式之工厂方法模式
设计模式之工厂方法模式意图工厂方法模式 (Factory Method)是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 让子类决定实例化对象的类型。 工厂模式中,增加一种产品类,就要增加一个工厂类:因为每个工厂类只能创建一种产品的实例。 工厂模式遵循“开放-封闭原则”:工厂模式中,新增一种产品并不需要修改原有类,仅仅是扩展。 简单工厂模式相比于工厂方法模式 优点:工厂类中包含必要的逻辑判断,可根据客户端的选择条件动态实例化需要的类。对于客户端来说,去除了对具体产品的依赖。 缺点:违背了开放封闭原则。 每添加一个新的产品,都需要对原有类进行修改。增加维护成本,且不易于维护。 开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 适用场景 当你在编写代码的过程中, 如果无法预知对象确切类别及其依赖关系时, 可使用工厂方法。 如果你希望用户能扩展你软件库或框架的内部组件, 可使用工厂方法。 如果你希望复用现有对象来节省系统资源, 而不是每次都重新创建对象, 可使用工厂方法。 结构 结构说明 产品 (Product) 将会对接口进行声明。 对于所有...
设计模式之简单工厂模式
设计模式之简单工厂模式简介简单工厂模式思想简单工厂模式 (Simple Factory) 又叫静态工厂方法(Static Factory Method)模式。 简单工厂模式通常是定义一个工厂类,这个类可以根据不同变量返回不同类的产品实例。 简单工厂模式是一种对象创建型模式。但是简单工厂模式不属于23 种 Gof 设计模式之一。 简单工厂模式要点优点:简单工厂模式的工厂类是整个模式的关键。其中包含了必要的逻辑判断,根据外部信息,决定究竟应该创建哪个具体类的对象。通过使用简单工厂模式,用户无需了解对象如何创建的,只要传入必要信息就可以了。 缺点:工厂类集中了所有实例的创建逻辑,违背了高内聚责任分配原则。随着系统中具体产品类不断增多,势必要不断修改工厂类,不易维护和扩展。同时,这也违背了开放封闭原则。 开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 实例如何实现一个具有加减乘除基本功能的计算器? 对于这四种运算来说,都需要两个操作数,差别仅在于返回的结果不同。 由此,我们可以抽象化它们的共性,提炼出一个父类。这个类中包含两个操作数,一个返回结果方法,这个方法...
从零到一的 sftp 和 ftp 发送文件
下载依赖用这个: 1234567891011<dependency> <groupId>com.github.mwiede</groupId> <artifactId>jsch</artifactId> <version>0.2.25</version></dependency><!-- sftp的工具类来自这个依赖 --><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.18</version></dependency> 需要注意,下面这个依赖在某些时候有问题,尽量不要使用(具体啥问题忘了,遇到再补充) 12345<dependency> <groupId>com.jcraft&l...
MinioClient基本使用
下载mcwindows地址:https://dl.minio.org.cn/client/mc/release/windows-amd64/mc.exe 基本使用通过双击执行文件,或者 在命令 提示符或PowerShell中运行以下内容: 12345678910111213141516171819# 查看所有命令的帮助\path\to\mc.exe --help#给minio服务器设置一个别名,填入地址、账号和密码进行连接。需要注意的是端口要用api的端口mc alias set nickname url username password# 删除服务器mc alias remove nickname# 查看所有的 aliasmc alias ls# 查看bucket里面的内容mc ls nickname# 下载单个文件到本地mc cp nickname/bucketName/1715759535550.jpg E:\download# 批量下载文件到本地## 递归下载整个目录mc cp --recursive nickname/bucketName/ E:\download##...








