- 博客(172)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 SpringBoot从数据库读取数据数据源配置信息,动态切换数据源
首先准备多个数据库,主库smiling-datasource,其它库test1、test2、test3接下来,我们在主库smiling-datasource中,创建表databasesource,用于存储多数据源相关信息。表结构设计如下创建好表之后,向表databasesource中存储test1、test2、test3三个数据库的相关配置信息。
2024-01-09 17:06:54 1339
原创 windows如何释放指定端口
例如:查询9200端口对应的进程号命令:netstat -ano | findstr 9200 # 查看指定端口的进程。
2024-01-02 16:15:06 392
原创 Python中的函数
定义在函数内部的函数叫做内嵌函数,或者叫做内部函数,内嵌函数的作用范围:从定义开始到包含它的代码快结束。在内嵌函数中不能直接进行a+=1,a=a+1这样的操作,如果要进行这样的操作,如上面示例,解决方案是nonlocal和global。也就是说函数调用时,既有位置参数也有关键字参数,则位置参数一定在关键字参数之前,否则函数调用是报错的。可变参数和位置参数混用的时候,可变参数优先,且在调用的时候,应该用关键字指明最后一个参数是位置参数。需要注意的是,在函数调用的时候,要使用关键字参数的传递方式。
2023-12-21 16:55:52 873
原创 SpringBoot使用自定义注解、AOP实现API接口日志记录
Java注解是从JDK5开始引入的,通过它提供的元注解我们可以自定义符合自己使用的自定义注解。主要元注解说明: 这个元注解用于指定注解的保留策略,即注解在何时生效。表示该注解将在运行时保留,这意味着它可以通过反射在运行时被访问和解析。: 这个元注解用于指定注解的目标元素,即可以在哪些地方使用这个注解。表示该注解只能用于方法上。这意味着您只能在方法上使用这个特定的注解。: 这个元注解用于指定被注解的元素是否会出现在生成的Java文档中。如果一个注解使用了。
2023-12-07 11:22:01 603
原创 ROW_NUMBER()函数——(分组后取每组最新的两条数据)
功能:简单的说row_number()从1开始,为每一条分组记录返回一个数字。用法一:说明:先把col列降序,再为降序后的每条col记录返回一个序号用法二:说明:先根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号。
2023-12-05 17:15:44 455
原创 SpringBoot整合Logback
在resources目录下,创建一个名为logback.xml的文件。(文件名称自定义)内容如下:-- 应用名称 -->-- 自定义日志输出路径,以及日志名称前缀 -->-- 按照每天生成日志文件 -->-- 日志文件输出的文件名 -->-- 日志文件保留天数 -->-- 日志文件最大的大小 -->
2023-12-05 16:37:28 394
原创 MyBatis-Plus条件构造器
notBetween():不在两个值之间。notIn():不包含在某个集合中。between():在两个值之间。select():设置查询字段。isNotNull():不为空。notLike():不模糊查询。having():分组查询条件。in():包含在某个集合中。orderBy():排序。groupBy():分组。isNull():为空。like():模糊查询。
2023-11-27 13:27:14 394
原创 linux中使用cron定时备份数据库文件为空问题的解决
将脚本里的tool=mysqldump 改为 tool=/usr/local/mysql/bin/mysqldump (自己的mysql安装路径)。原因在于linux中的cron定义的定时任务中指定的命令会在path路径下寻找,而mysqldump命令是mysql自带的,不是系统的,因此通过定时任务出发的时候,mysqldump命令并不生效。使用mysqldump可以备份mysql数据库文件,但是在脚本中使用mysqldump命令,使用cron定义为定时任务执行的时候,备份的sql文件内容为空。
2023-01-10 10:37:59 909 1
原创 Linux中创建定时任务(定时任务数据库)
在linux中,周期执行的任务一般由cron这个守护进程来处理。cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。0 0 * * * /home/mysql_dump_script.sh #每天0点执行脚本mysql_dump_script.sh。编写备份数据库文件的脚本文件mysql_dump_script.sh。重启crontab服务。查看定时任务是否生效。
2023-01-06 11:08:34 370
原创 SpringBoot中使用ThreadPoolExecutor和ThreadPoolTaskExecutor线程池的方法和区别
SpringBoot中使用ThreadPoolExecutor和ThreadPoolTaskExecutor的方式和区别
2022-10-29 01:11:30 4373
原创 SpringBoot统一返回处理遇到cannot be cast to java.lang.String问题
接口返回格式统一处理后,接口返回值为string时报错cannot be cast to java.lang.String问题
2022-10-12 12:23:42 2310
原创 权限管理(2)
权限权限是用户可以访问的资源,包括页面权限、操作权限、数据权限 页面权限:即用户登录系统可以看到的页面,由菜单控制,菜单包括 一级菜单和二级菜单,只要用户有一级和二级菜单的权限,那么用户就可以访问页面; 操作权限:即页面的功能按钮,包括查看、新增、修改、删除、审核等。有的系统要求“可见即可操作“,意思是如果页面上能够看到操作按钮,那么用户就可以操作,要实现此需求,这里就需要前端来配合,前端开发把用户的权限信息缓存,在页面判断用户是否包含此权限,如果有,就显示该按钮,如...
2022-05-31 18:59:57 2440
原创 权限管理(1)
需求: 1、不同职责的人员,对于系统操作的权限应该是不同的; 2、可以对“组”进行权限分配; 3、权限管理系统应该是可扩展的; 4、满足业务系统中的功能权限数据库结构: 权限表(action)、管理组表(groupmanager)、人员表(master),这三张表依次记录着权限信息、管理组信息、人员信息。这三张表之间的关系是多对多关系,一个权限可能同时属于多个管理组,一个管理组中也可能同时包含多个权限,一个人员可能同时属于多个管理组,而一个管理组中也可能同时包含多.
2022-05-31 18:49:39 291
原创 ElasticSearch下载安装配置及其使用(windows)
一、ELK一般情况下ElasticSearch并不单独使用。ElasticSearch、Logstash、Kibana这三个技术就是我们常说的ELK技术栈。Logstash负责搜集和过滤数据,ElasticSearch负责存储数据,Kibana拥有各种维度的查询和分析,并使用图形化的界面展示存放ElasticSearch中的数据。二、ElasticSearch版本选择 在使用ElasticSearch的时候,要注意版本的选择,在后续ElasticSearch和Spr...
2022-05-24 12:11:32 3304
原创 Java创建对象的5种方法
使用new关键字 通过使用此方法,我们可以调用要调用的任何构造函数,即可以调用无参数的构造函数也可以调用有参数的构造函数。 User user = new User(); User user = new User(1,”admin”,19);使用Class类的newInstance()方法 例如: User user = Class.forName(“com.smile.entity.User”).newInstance()...
2022-04-27 00:39:47 2709
原创 SpringBoot利用Redis实现接口限流
依赖 <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置即redis相关配置s
2022-04-26 19:04:15 353
原创 读取nacos配置失败
使用SpringCloud(2021.0.1)、SpringCloudAlibaba(2021.0.1.0)、SpringBoot(2.6.6)、nacos最新版本在读取nacos配置中心内容的时候,无法读取。使用JDK17 首先确定关键性依赖都是最新的,并没有版本依赖不符合的问题,查询依赖之间版本号关系可通过SpringCloud和SpringCloudAlibaba以及nacos官网去查询,这里附上SpringCloudAlibaba的github地址:版本说明 · a...
2022-04-21 16:26:16 2245
原创 Jasypt实现数据加解密(脱敏)
场景一:对配置文件中的裸露的密码进行加密1、添加依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version>
2022-04-14 16:32:39 11200 3
原创 Feign的GZIP压缩配置
开启压缩可以有效节约网络资源,提升接口性能,我们可以配置GZIP来压缩数据feign.compression.request.enable=truefeign.compression.response.enable=true还可以配置压缩的类型、最小压缩值的标准feign.compression.request.mime-type=text/xml,application/xml,application/jsonfeign.compression.request.min-request-
2022-02-17 23:46:19 1158
原创 Feign客户端组件配置
Feign中默认使用JDK原生测URLConnection发送HTTO请求,我们可以集成别的组件来替换掉URLConnection,比如HttpClient或者OkHttp配置OkHttp首先需要加入OkHttp依赖 <!--OkHttp--> <dependency> <groupId>io.github.openfeign</groupId> <artifactI
2022-02-17 23:37:43 354
原创 Fegin接口调用超时时间配置
通过Options可以配置连接超时时间和读取超时时间,配置如下import feign.Request;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class FeignConfiguration { /** * 配置接口调用连接超时时间合...
2022-02-17 23:30:48 1048
原创 Feign的Basic认证配置和自定义认证
通常我们调用的接口都是有权限控制的,很多时候可能认证是通过参数区去传递的,还有就是通过请求头去传递认证信息,比如Basic认证方式。在Feign中我们可以直接配置Basic认证。@Configurationpublic class FeignConfiguration{ public BasicAuthRequestInterceptor basicAuthRequestInterceptor(){ return new BasicAuthRequestInterceptor
2022-02-17 23:29:14 1574
原创 使用jasypt加密配置文件敏感信息
jasypt是一个用来加密配置文件中的信息的工具包。使用如下所示一、引入依赖(版本好根据自己项目自行修改) <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>
2022-02-14 11:38:56 415
原创 SpringBootAdmin+actuator进行服务监控
SpringBootAdmin可以监控SpringBoot单击或集群项目,提供详细的健康信息、内存信息、JVM系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、SpringBoot缓存查看和管理功能。第一步:监控服务端搭建 创建一个SpringBoot项目,添加下面依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr...
2022-01-14 10:44:40 892
原创 Springboot整合FluentMybatis
为什么要使用FluentMybatisFluent Mybatis比较吸引人的地方正如它所说的,1、No XML,No Mapper, No If else,No String2、只需要Entity就可以实现强大的FluentAPI:支持分页、嵌套查询,AND OR组合,聚合函数...第一步:添加依赖注意:1、不可少了mybatis和springboot的整合包;2、junit依赖默认生效限制<!--mybatis和springboot的整合包--> .
2022-01-13 17:32:46 1216
原创 使用sql语句加解密
-- 对字符130488884999进行加密,密钥是abc123SELECT HEX(AES_ENCRYPT('130488884999','abc123'));-- 解密,密钥是abc123,加密内容为E6E6DDE35383B9EF337F31E624C100F7SELECT AES_DECRYPT(UNHEX('E6E6DDE35383B9EF337F31E624C100F7'),'abc123')...
2022-01-11 18:40:14 1508
原创 MyBatis配置进行数据加密和解密
在数据库中经常会保存一下用户的敏感数据信息,例如身份证号、手机号、用户密码等。如果这些信息以明文的方式保存,一旦数据被恶意获取到就会导致这这些敏感信息的泄露。第一步:依赖除了正常的mybatis和springboot开发依赖包之外,需要额外加入以下包<!-- Hutool 加密解密 --> <dependency> <groupId>cn.hutool</groupId> <a
2022-01-11 17:25:59 6559
原创 将 Bean 放入 Spring 容器的几种方式
@Configuration + @Bean @ComponentScan + @Component @Import 配合接口进行导入 使用FactoryBean。 实现BeanDefinitionRegistryPostProcessor进行后置处理。
2022-01-10 19:02:16 540
原创 表索引及表注释操作
-- 单独查看某张表的索引情况SHOW INDEX FROM 表名称;例如:SHOW INDEX FROM area_regist;-- 查看整表的建表语句,里面同样会显示索引情况SHOW CREATE TABLE 表名称;例如:SHOW CREATE TABLE area_regist;-- 添加索引CREATE INDEX idx_name ON 表名称(表内字段名);例如:CREATE INDEX idx_name ON area_regist(area_id);-- 删除索.
2022-01-10 18:48:23 291
js表单提交怎么控制填写完整才能提交
2018-12-18
使用xshell远程连接,很长时间处于正在连接状态,过后失败
2018-10-17
Mysql数据库已经设置了UTF-8,但还是中文乱码的问题
2018-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人