学习记录
fostlin
这个作者很懒,什么都没留下…
展开
-
工作流Flowable 入门API
工作流Flowable 常用service对象,以及常用PAI原创 2023-07-12 18:02:27 · 571 阅读 · 0 评论 -
springboot 实体参数校验
@Null 被注解的元素必须为null@NotNull 被注解的元素必须不为null@AssertTrue 被注解的元素必须为true@AssertFalse 被注解的元素必须为false@Min(value) 被注解的元素必须为数字,其值必须大于等于最小值@Max(value) 被注解的元素必须为数字,其值必须小于等于最小值@Size(max,min) 被注解的元素的大小必须在指定范围内@Past 被注解的元素必须为过去的一个时...原创 2022-02-11 10:37:45 · 764 阅读 · 0 评论 -
centos7 开放端口管理
Centos7 用firewalld管理开放的端口Centos7默认安装了firewalld,如果没有安装的话,可以使用yum install firewalld firewalld-config进行安装。常用命令:1.启动防火墙systemctl start firewalld 2.禁用防火墙systemctl stop firewalld3.设置开机启动systemctl enable firewalld4.停止并禁用开机启动sytemctl disa..原创 2020-09-29 11:05:27 · 189 阅读 · 0 评论 -
chrome浏览器 sessionId不缓存问题
因为重定向地址后产生跨域问题,Chromecookies默认不缓存,导致session ID 改变。解决办法原创 2020-09-02 13:53:32 · 1785 阅读 · 0 评论 -
关于Spring MVC上传数据中文乱码详解
转载至:https://www.jianshu.com/p/435c13cfc769关于spring mvc上传数据中文乱码原因:Servlet 3.0规范中有关请求数据编码的解释如下:当前很多浏览器并不发送带Content-Type头部的字符编码标识符,它会把字符编码的决定留在读取HTTP请求的时候。如果客户端没有指明编码,容器用来创建请求读和解析POST数据的默认编码必须是"IS...转载 2020-08-21 16:22:05 · 297 阅读 · 0 评论 -
dubbo常见面试题整理
一、dubbo调用服务超时怎么解决dubbo调用失败默认是重复调用两次,这时就会有2种情况1)调用返回超时。可能存在的问题,比如发短信或邮件,会存在重复发送的问题2)连接超时1.对于核心的服务中心,去除dubbo超时重试机制,并重新评估设置超时时间。全局配置实例<!-- 延迟到Spring初始化完成后,再暴露服务,服务调用超时设置为6秒,超时不重试--><dubbo:provider delay="-1" timeout="6000" retries="0"/>原创 2020-08-21 15:58:59 · 706 阅读 · 0 评论 -
spring validated 参数校验
maven:必要jar<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dep.原创 2020-07-29 18:01:15 · 610 阅读 · 0 评论 -
浅谈分表分库
一、拆分方法: 1.垂直拆分 2.水平拆分二、垂直拆分两种形式:表级别与库级别 1.分库 依据微服务的模式,把一个模块的表拆分成单独的库; 缺点:1)不同模块的表没办法进行关联查询,只能通过接口聚合方式解决,提升了开发的复杂度; 2)分布式事务处理复杂 3)依然存在表数据过大的情况 优点...原创 2020-07-20 17:17:00 · 217 阅读 · 0 评论 -
spring mvc学习
流程:DispatcherServlet接收前端的请求(Request)并转发给相应的组件。DispatcherServlet从HandleMapping查找url对应的Controller。Controller处理完request返回ModelAndView,ModelAndView是封装结果视图的组件。④ ⑤ ⑥:视图解析器解析ModelAndView对象并返回对应的视图给...原创 2020-07-08 11:49:31 · 103 阅读 · 0 评论 -
@Autowired 与@Resource详解 + 例子
@Resource注入跟@Autuwired相同点:都是做bean的注入不同点:(1)提供方:@Autowired是由org.springframework.beans.factory.annotation.Autowired提供,换句话说就是由Spring提供;@Resource是由javax.annotation.Resource提供,即J2EE提供,需要JDK1.6及以上。(2)注入方式:@Autowired只按照byType 注入;@Resource默认按byName自动注入,.原创 2020-07-06 17:33:41 · 564 阅读 · 0 评论 -
java Http请求
maven <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.1</version> <scope>compile</scope> </dependency>请求头co..原创 2020-07-03 17:46:23 · 193 阅读 · 0 评论 -
AES加密算法demo
AES简介:AES加密标准又称为高级加密标准Rijndael加密法,是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。AES的基本要求是,采用对称分组密码体制,密钥长度可以为128、192或256位,分组长度128位,算法应易在各种硬件和软件上实现。常结合RSA使用--RSA demo介绍链接AES加密实例package com.fostlin.aes;import sun.misc.BASE64Decoder;import sun.misc.BASE64En.原创 2020-06-23 19:57:34 · 972 阅读 · 0 评论 -
RSA加密与签名demo
百度百科:RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制RSA根据一对公钥,私钥对数据进行加密,签名 ----常跟AES加密互用,AES+AESkey加密数据,RSA加密AESKey,RSA对返回报文体进行签名RSA加密: 拿商户的公钥对数据进行加密,商户拿到数据用私钥解密RSA签名:用本公司的私钥进行签名,商户拿到数据用我们公司的公钥验签加解密实例-----加密方法/** * 使用商户公钥进行加密原创 2020-06-23 19:42:28 · 614 阅读 · 0 评论 -
软件开发的流程
流程:需求规范->系统分析->系统设计->实现->测试->部署->维护在软件开发生命周期的任何阶段都有可能回到之前的阶段改正错误,或者处理其他可能阻止软件按所设想的发挥功能的问题需求规范 用户提出所需要的软件功能,开发者理解软件所需要处理的问题,以及将软件系统需要做的详细记录到文档中 系统分析 分析数据流,并且确定系统的输入和输出。当进行分析的时候,首先确定输出,并模拟实际可能的输入从而产生结果 系统设计 系统设计是一个输入到输出的过程。这个阶.原创 2020-05-31 15:39:59 · 243 阅读 · 0 评论 -
swagger使用详解
类 级别注解:@Api属性:tags-类的说明,description-覆盖类名@ApiIgnore 隐藏接口,方法,参数方法级别注解@ApiImplicitParams(@ApiImplicitParam(name = "<参数名称>", value = "参数说明", required = true, paramType="body"))paramType 值: header-->放在请求头。请求参数的获取:@RequestHeader(代码中原创 2020-05-28 21:01:53 · 568 阅读 · 0 评论 -
初识Java SPI
1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了转载 2020-05-28 14:57:20 · 128 阅读 · 0 评论 -
java多线程 简单实例
public static void main(String[] args) { ExecutorService executors = Executors.newFixedThreadPool(4); Future<String> f1 = executors.submit(new TestCallable("Th1")); Future<String> f2 = executors.submit(new TestCallable..原创 2020-05-26 16:26:13 · 308 阅读 · 0 评论 -
jave线程间通信
买卖商品来介绍:卖家首先要进货上架商品;等待客人来买;客人把商品买完了,需要等待卖家进货上架商品;如此循环首先建一个代表商品的对象public class CommondityEntity { private int num = 0; private String name = "杯子"; public int getNum() { return num; } public synchronized void add(){原创 2020-05-26 16:20:54 · 98 阅读 · 0 评论 -
mysql 优化
一、查询时候建立索引能提高查询速率二、尽量不要查询全表三、如果知道字符串具体长度则在建表时候指导四、应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 ...原创 2020-04-29 21:22:52 · 116 阅读 · 0 评论 -
feign常用配置
Feign的组成接口 作用 默认值 Feign.Builder Feign的入口 Feign.Builder Client Feign底层用什么去请求 和Ribbon配合时:LoadBalancerFeignClient不和Ribbon配合时:Fgien.Client.Default Contract 契约,注解支持 SpringMV...转载 2020-04-16 16:20:32 · 1449 阅读 · 0 评论 -
Eureka常用配置
eureka: server: #触发了Eureka的自我保护机制。当服务未按时进行心跳续约时,Eureka会统计服务实例最近15分钟心跳续约的比例是否低于了85%。 #在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。 #Eureka在这段时间内不会剔除任何服务实例,直到...原创 2020-04-15 15:50:39 · 325 阅读 · 0 评论 -
设计模式学习记录
1、简单工厂模式如标题一样:简单地说,简单工厂模式通常就是这样,一个工厂类 XxxFactory,里面有一个静态方法,根据我们不同的参数,返回不同的派生自同一个父类(或实现同一接口)的实例对象public class FoodFactory { public static Food makeFood(String name) { if (name.equals(...转载 2020-03-27 18:25:01 · 114 阅读 · 0 评论 -
spring 模块
spring core 核心类库,提供IOC模块;spring centext 提供框架使bean访问方式spring AOP AOP服务spring DAO 对JDBC的抽象,简化了数据访问异常的处理spring OPM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这...原创 2019-03-25 16:55:45 · 186 阅读 · 0 评论 -
java 动态代理学习记录
动态代理通过实现InvocationHandler接口来实现;推荐https://www.cnblogs.com/dreamroute/p/5273888.html这篇文章核心:通过动态代理生成一个代理对象接口的实现类,在该实现类中对应的方法上去调用InvocationHandler上的invoke方法首先定义被代理对象接口public interface Subject { ...原创 2019-03-20 17:45:59 · 85 阅读 · 0 评论 -
Mybutis-plus 代码生成器
https://mp.baomidou.com/guide/generator.htmlmybatis-plus官网1、pom.xml 配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s...原创 2019-03-11 18:00:57 · 244 阅读 · 1 评论 -
关于ioc详解
ioc简单发展历程以及使用实例:https://blog.csdn.net/lqw05/article/details/52204947这篇文章写的很清楚总结:ioc容器帮我们实例化类-bean工厂@Autowired @Resource 注解实例无参构造函数,有参构造使用@Value注解使用 结合 @Qualifier给bean工厂赋予名称在helloController...转载 2019-03-19 23:51:28 · 199 阅读 · 0 评论 -
Mysql数据的时间类型对应的java时间类型
Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型 date java.sql.Date Datetime java.sql.Timestamp Timestamp java.sql.Timestamp Time java.sql.Time Ye...原创 2018-03-29 16:55:21 · 43021 阅读 · 3 评论 -
spring之事务管理---注解pian
(一)AOP术语:连接点(JoinPoint)--- 使用:获取到切点的信息,包括传入参数切点(poincut)---- 需要开启事务管理的方法切面(Aspect)---- 切点和通知定义了切面的全部内容(1)前置通知(Before):在目标方法被调用前通知(2)后置通知(After):目标方法完成之后调用,不会关心方法的输出是什么(3)返回通知(After-return...原创 2018-03-21 12:07:34 · 168 阅读 · 0 评论 -
maven 热部署 改了类之后不用重新启动 提高开发效率
要完成三个步骤:(一)配置tomcat的server.xml文件 添加maven项目的本地到webapp目录的地址<Context path="/deviceInfo" docBase="E://workspac//deviceInfe//src//main//webapp" reloadable="true" crossContwxt="true"></Context>(原创 2018-03-17 12:06:15 · 1298 阅读 · 0 评论 -
maven
这样Tomcat 插件就可以运行。下面介绍几个常用的Goal:tomcat:deploy --部署一个web war包tomcat:reload --重新加载web war包tomcat:start --启动tomcattomcat:stop --停止tomcattomcat:undeploy--停止一个war包tomcat:run 启动嵌入式tomcat ,并运行当前项目控...原创 2018-03-16 18:39:43 · 106 阅读 · 0 评论 -
maven的pom.xml配置详解
<span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap...原创 2018-03-07 11:08:19 · 220 阅读 · 0 评论 -
Spring XML显示配置bean
声明一个简单的<bean>: <bean class="(类的地址)" /><bean> 的属性:id = <设置bean的名称> default为类名首字母小写构造器注入初始化bean:public class Test{ private String name; private String password; Li...原创 2018-03-07 19:28:39 · 229 阅读 · 0 评论 -
Spring 基于java的显式配置bean
带有@Bean注解的方法可以采用任何必要的java功能来产生bean实例@Configurationpublic class InterfaceTest{}给实例化的方法添加@Bean注解@Beanpublic InterfaceTest Test1(){ return new Test1();}这就实现了注册了类Test1 应用上下文的bean;多个bean之间的引用 --通过调...原创 2018-03-07 17:28:27 · 585 阅读 · 0 评论 -
java 执行xshell命令
实例:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Lin { public static void main(String[] args) { Process process =null; ...原创 2019-03-25 16:56:43 · 1794 阅读 · 0 评论 -
关于spring bean的@Scope注解
spring bean默认是单例模式,即scope="singleton"。另外scope还有prototype、request、session、global session作用域。scope="prototype" 是非单利模式常用 singleton , prototype 两种使用: bean不存在全局非静态变量时候正常使用 singleton, 存在全局非静态变量情况下使用 p...原创 2019-03-18 23:28:45 · 1091 阅读 · 0 评论 -
jar命令修改 springBoot打包成的jar
操作:jar -cvf **.jar 再jar -xvf 打包不能运行 提示 no main manifest attribute正确操作:jar -cvf **.jar,用jar -uvf {war | jar} {dest} 命令替换原先jar里面问文件例:[root@local test]# ls BOOT-INF META-INF org test.jar ...原创 2019-09-04 16:24:09 · 824 阅读 · 0 评论 -
@componentscan 注解用法
@componentscan注解 即告诉spring 该去哪里扫描bean。spring boot 如果你的其他包都在使用了@SpringBootApplication注解的main类所在的包及其下级包,则你什么都不用做,SpringBoot会自动帮你把其他包都扫描了如果你有一些bean所在的包,不在main 的包及其下级包,那么你需要手动加上@ComponentScan注解并指定那个be...原创 2019-08-30 13:53:02 · 5575 阅读 · 0 评论 -
mysql 优化
一、性能优化转载博客:https://www.cnblogs.com/zhouyusheng/p/8038224.html为查询缓存优化你的查询 EXPLAIN 你的 SELECT 查询:使用EXPLAIN关键字可以让你知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。 为搜索字段建索引 在Join表的时候使用相当类型的例,并将其索引 ...原创 2019-08-26 17:09:18 · 102 阅读 · 0 评论 -
RedisTemplate 管道
@Autowired RedisTemplate<Object, Object> redis; @GetMapping("/redisTest") @ResponseBody public String test() { RedisUtil redisUtil = new RedisUtil(redis); int number = 5; Long start =...原创 2019-08-06 16:41:32 · 2947 阅读 · 0 评论 -
thymeleaf 嵌套多个map===URL路径设置
服务器端代码:public String test(Model model){ List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); for(int i = 0; i< 3; i++){ Map<String,Object> m...原创 2019-07-29 17:00:27 · 808 阅读 · 0 评论