<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TheGreatButton的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TheGreatButton</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TheGreatButton]]></copyright><item><title><![CDATA[SQL过滤工具类]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/121562649</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/121562649</guid><author>TheGreatButton</author><pubDate>Fri, 26 Nov 2021 16:08:49 +0800</pubDate><description><![CDATA[import com.jackson0714.common.utils.RRException;
import org.apache.commons.lang.StringUtils;

/**
 * SQL过滤
 *
 * @author button
 */
public class SQLFilter {

    /**
     * SQL注入过滤
     * @param str  待验证的字符串
     */
    public static String sqlInject(Strin]]></description><category></category></item><item><title><![CDATA[mybatis-plus分页查询]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/120436639</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/120436639</guid><author>TheGreatButton</author><pubDate>Thu, 23 Sep 2021 15:56:44 +0800</pubDate><description><![CDATA[做分页查询要有两步：
第一步，设置MyBatisPlus配置类
package com.gsoft.demo.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationI]]></description><category></category></item><item><title><![CDATA[springboot中service层单元测试]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/120184624</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/120184624</guid><author>TheGreatButton</author><pubDate>Wed, 08 Sep 2021 17:30:19 +0800</pubDate><description><![CDATA[1.生成测试类
按住alt+insert弹出自动生成的选项，点击TEST

会在Test里面自动生成测试类

然后添加上
@RunWith(SpringRunner.class)
@SpringBootTest
这两个注解。
import com.example.demo.car.service.CarService;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.]]></description><category></category></item><item><title><![CDATA[百度网盘下载]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/119773480</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/119773480</guid><author>TheGreatButton</author><pubDate>Wed, 18 Aug 2021 10:05:10 +0800</pubDate><description><![CDATA[参考连接：https://github.com/zyxubing1/baiduyun

其中要把脚本的连接给改成http://123.207.22.95/baiduyun/a2dh.user.js

]]></description><category></category></item><item><title><![CDATA[每日几答（1）]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/119674519</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/119674519</guid><author>TheGreatButton</author><pubDate>Fri, 13 Aug 2021 15:47:48 +0800</pubDate><description><![CDATA[ArrayList 知识点
1.底层用的是一个数组`Object[] elementData`，特点是查询速度快，增删慢，线程不安全。


您说它的底层实现是数组，但是数组的大小是定长的，如果我们不断的往里面添加数据的话，不会有问题吗？

这就说到ArrayList的扩容机制，如果你的构造函数里面传了参数，那么就按照你的参数长度生成数组，没有传参的话，会有一个默认的数组长度为10。至于为什么是10，猜测可能是个经验值。
我记得你说到了，他增删很慢，你能说一下ArrayList在增删的时候是怎么做的么？主要说]]></description><category></category></item><item><title><![CDATA[谈谈request和response的本质关系，转发和重定向的本质]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/119456561</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/119456561</guid><author>TheGreatButton</author><pubDate>Fri, 06 Aug 2021 16:35:43 +0800</pubDate><description><![CDATA[谈谈request和response的本质关系：
一个是请求对象，一个是响应对象，那么这两个对象是由谁创建的？
答案是，web容器创建的，简单来说，tomcat容器创建的。
整个流程是这样的：

首次访问的时候，才创建目标servlet。
由客户端（也就是客户浏览器）对web容器发出HTTP请求，
由web容器根据http请求创建出request对象和response对象。虽然response对象里面是空的，但是这个时候他就已经被创建出来了，他俩相当于是同一天生的亲兄弟。

来我们来看一个标准的servle]]></description><category></category></item><item><title><![CDATA[PR安装出现错误代码：195]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/119250231</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/119250231</guid><author>TheGreatButton</author><pubDate>Fri, 30 Jul 2021 16:15:16 +0800</pubDate><description><![CDATA[安装PR2020的时候出现了错误代码195，网上搜索之后发现说是windows的版本需要更新，于是windows更新到了1903版本，

但是还是安装不成功，也改成了用兼容性模式安装

但是还是不管用又找了pr2019和pr2018两个版本来安装，结果均报195的错误，后,来没有办法，换了一个安装包，结果就正常安装上去了,放上连接
链接：https://pan.baidu.com/s/11cQfBRmzjHXtptrXG8o0Wg
提取码：dogb

...]]></description><category></category></item><item><title><![CDATA[@Autowired 与@Resource的区别和如何选择]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/119028632</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/119028632</guid><author>TheGreatButton</author><pubDate>Fri, 23 Jul 2021 11:50:19 +0800</pubDate><description><![CDATA[@Autowired 与@Resource选择（治好你的强迫症）
spring不但支持自己定义的@Autowired注解，还支持几个由JSR-250规范定义的注解，它们分别是@Resource、@PostConstruct以及@PreDestroy。
　　@Resource的作用相当于@Autowired，只不过@Autowired按byType自动注入，而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的，分是name和type，Spring将@Resource注]]></description><category></category></item><item><title><![CDATA[一、Java 基础面试题]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/114795131</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/114795131</guid><author>TheGreatButton</author><pubDate>Sun, 14 Mar 2021 23:18:30 +0800</pubDate><description><![CDATA[1.JDK 和 JRE 有什么区别？
JDK是 Java development kit，Java开发工具包，包括了Java开发环境和运行环境。
JRE是 Java runtime environment，Java运行环境。
简单来说 JDK=JRE+Javac+各种开发的时候的调试工具。如果你只运行Java程序那么jre就够了。
2.== 和 equals 的区别是什么？
变量分为
基本类型：八种基本类型（六种数字类型一种字符类型，一种布尔类型）：byte，short，int，long，float，dou]]></description><category></category></item><item><title><![CDATA[mongodb笔记地址]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/113624918</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/113624918</guid><author>TheGreatButton</author><pubDate>Thu, 04 Feb 2021 09:44:47 +0800</pubDate><description><![CDATA[mongodb笔记地址：https://github.com/Vacricticy/mongodb_practice#%E6%96%87%E6%A1%A3%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB

]]></description><category></category></item><item><title><![CDATA[Docker笔记（Docker安装mysql，Nginx配置反向代理）]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/112650867</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/112650867</guid><author>TheGreatButton</author><pubDate>Fri, 22 Jan 2021 15:39:37 +0800</pubDate><description><![CDATA[Docker安装：
https://blog.youkuaiyun.com/qq_36892341/article/details/73918672
Docker切换镜像源：
我用的是阿里云，所以阿里云有贴心提供专属镜像加速器（点击查看）：https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors，选择你服务器的系统。
Docker安装mysql：

先检查，看看本地有没有mysql的镜像（image）， docker image ls
没有的话，咱们就下载 ]]></description><category></category></item><item><title><![CDATA[linux查看端口使用情况]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/112802987</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/112802987</guid><author>TheGreatButton</author><pubDate>Tue, 19 Jan 2021 11:36:36 +0800</pubDate><description><![CDATA[netstat
netstat -tunlp 用于显示 tcp，udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式：
netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名，能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
例如查看 8000 端口的情况，使用以下命令：
# netstat -tunlp | grep 8000
tcp   ]]></description><category></category></item><item><title><![CDATA[word中如何生成多组自动增长的数字]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/112506535</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/112506535</guid><author>TheGreatButton</author><pubDate>Tue, 12 Jan 2021 09:47:12 +0800</pubDate><description><![CDATA[同时按住Ctl+F9会显式出花括号,然后在花括号里面输入
{seq list #0000}
seq代表启动域，list是随便取的，相当于你创建的域的名称，后面0000是代表数的位数。

然后选中括号里面的东西，按f9,就变成

然后将这个0001复制到你需要的地方

ctrl +A 选中全文，按下f9

如果想创建另外一组自增长的数，把list改成其他名字就像
{seq list2 #0000}


参考文章：https://blog.youkuaiyun.com/songchuwang1868/article/det]]></description><category></category></item><item><title><![CDATA[SpringBoot - @Configuration、@Bean注解的使用详解（配置类的实现）]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/107791441</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/107791441</guid><author>TheGreatButton</author><pubDate>Mon, 28 Dec 2020 09:13:59 +0800</pubDate><description><![CDATA[一、基本用法
1，基本介绍
Spring Boot 推荐使用 java 配置完全代替 XML 配置，java 配置是通过 @Configration 和 @Bean 注解实现的。二者作用如下：
@Configration 注解：声明当前类是一个配置类，相当于 Spring 中的一个 XML 文件
@Bean 注解：作用在方法上，声明当前方法的返回值是一个 Bean
2，简单样例
（1）首先创建一个自定义的配置类 MyConfigration：
使用 @Configration 注解将该类声明为一个配置类。
]]></description><category></category></item><item><title><![CDATA[Lombok 插件注解汇总]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/107718834</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/107718834</guid><author>TheGreatButton</author><pubDate>Fri, 25 Dec 2020 17:31:01 +0800</pubDate><description><![CDATA[Lombok 插件主要为我们提供了如下注解，这里对其做一个简单的汇总
@Getter 注解在属性（类）上，为属性（所有非静态成员变量）提供 get() 方法
@Setter 注解在属性（类）上，为属性（所有非静态成员变量）提供 set() 方法
@ToString 该注解的作用是为类自动生成 toString() 方法
@EqualsAndHashCode 为对象字段自动生成 hashCode() 和 equals() 实现
@AllArgsConstructor、@RequiredArgsConstruc]]></description><category></category></item><item><title><![CDATA[自动生成数据库表结构文档]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/110391995</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/110391995</guid><author>TheGreatButton</author><pubDate>Mon, 30 Nov 2020 16:57:47 +0800</pubDate><description><![CDATA[github项目地址：https://github.com/pingfangushi/screw
不需要下载github项目
有两种方法，一种写代码，一种用maven插件的方法，
那我们当然选择maven插件啦！
步骤一
在pom.xml文件中添加如下代码：
可以根据需求自己修改
    &lt;build&gt;
        &lt;plugins&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;cn.smallbun.scr]]></description><category></category></item><item><title><![CDATA[linux的firewalld打开关闭防火墙与端口]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/110195017</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/110195017</guid><author>TheGreatButton</author><pubDate>Thu, 26 Nov 2020 16:24:30 +0800</pubDate><description><![CDATA[1、firewalld的基本使用
启动： systemctl start firewalld
关闭： systemctl stop firewalld
查看状态： systemctl status firewalld
开机禁用  ： systemctl disable firewalld
开机启用  ： systemctl enable firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具，它融合之前service和chkconfig的功能于一体。
启动一个服务：system]]></description><category></category></item><item><title><![CDATA[Jenkins持续集成 （war包方式启动）]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/110134153</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/110134153</guid><author>TheGreatButton</author><pubDate>Wed, 25 Nov 2020 17:03:06 +0800</pubDate><description><![CDATA[jenkins是一个广泛用于持续构建的可视化web工具，持续构建说得更直白点，就是各种项目的"自动化"编译、打包、分发部署
jenkins 官网    https://jenkins.io/zh/   使用war包的方式启动jenkins
下载war包
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

启动war包 ,以后台的方式运行jenkIns war包
nohup java -jar jenkins.war --httpPort]]></description><category></category></item><item><title><![CDATA[在阿里云linux上安装docker]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/110133790</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/110133790</guid><author>TheGreatButton</author><pubDate>Wed, 25 Nov 2020 16:09:32 +0800</pubDate><description><![CDATA[参考文档：
https://help.aliyun.com/document_detail/60742.html?spm=a2c4g.11174283.6.548.24c14541ssYFIZ


第一步：安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2


第二步：添加软件源信息
yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/l]]></description><category></category></item><item><title><![CDATA[spring学习笔记]]></title><link>https://blog.youkuaiyun.com/TheGreatButton/article/details/110088347</link><guid>https://blog.youkuaiyun.com/TheGreatButton/article/details/110088347</guid><author>TheGreatButton</author><pubDate>Tue, 24 Nov 2020 17:46:29 +0800</pubDate><description><![CDATA[参考文章：IOC原理
public class BookService {
    private DataSource dataSource;

    public void setDataSource(DataSource dataSource) {
        this.dataSource = dataSource;
    }
}


不直接new一个DataSource，而是注入一个DataSource，这个小小的改动虽然简单，却带来了一系列好处：这相当于是让spring容器创建了一个Be]]></description><category></category></item></channel></rss>