
JAVA相关
文章平均质量分 78
海蓝树
做个有思想的“猿”
展开
-
springboot线程池的配置使用[通俗易懂]
但是java中配置和使用线程池有点繁琐,而在springboot中,线程池的配置简直就是轻而易举。springboot中主要使用配置类来配置线程池 @Async注解可以使用配置好的线程池 其他的配置例如yml或者properties文件,按照springboot的正常配置就行,没什么特殊的。设置加入到线程池的方法不应该有返回值,虽然定义为有返回值程序执行无错误,但是定义为线程的方法,上级调用者无需等待处理结果,如果调用者强行等待返回结果,此异步设置将会没有意义,系统仍然会按照同步的逻辑处理。转载 2024-07-28 10:07:36 · 239 阅读 · 0 评论 -
基于mybatis-plus的多表联查,时间查询,分页查询
时间查询,按照时间来查询某个时间段的数据,这个可以仿照上面的多表查询去写,也可以使用条件构造器构造条件去查询,如果对条件的优先级有要求,可以使用lambda表达式,其优先级更高。不同的操作有着不同的构造器,其实就是构造出sql,再通过框架去执行,其他操作可以查看官方文档,或者看些项目的案例。之后配合select注解,将sql写好,注入之后就能调用接口中自定义的查询方法,从而实现多表查询。配合前端的分页插件使用,将每页显示的固定数量,数据,页数返回。按照格式意思一下,接收查询的数据,转载 2024-07-28 16:53:23 · 148 阅读 · 0 评论 -
MybatisPlus+Oracle +时间范围查询+ROWNUM查询
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/weixin_44885096/article/details/139239212。QueryWrapper条件构造器。使用oracle,查询10条数据。转载 2024-07-28 16:57:04 · 421 阅读 · 0 评论 -
String、Date、LocalDate之间的转换
String、Date、LocalDate之间的转换,这一篇就够了!_System_04。String、Date、LocalDate之间的转换,这一篇就够了!String、Date、LocalDate之间的转换,这一篇就够了!String、Date、LocalDate之间的转换,这一篇就够了!String、Date、LocalDate之间的转换,这一篇就够了!String、Date、LocalDate之间的转换,这一篇就够了!String、Date、LocalDate之间的转换,这一篇就够了!转载 2024-07-28 17:18:46 · 178 阅读 · 0 评论 -
mybatis-plus-join mybatis-plus必备神器
注意:这几个方法,前面俩参数和mp的用法一致,最后一个class类型的是返回类型,这个主要是大多数多表操作都是需要有额外字段,所以需要额外定义,而Wrapper wrapper中的这个需要填写在需要构建条件的实体,这个实体是任意的,不强制,创建条件构造器的时候定义的那个对象就是主表。2.这个条件构造器啊,你在join的时候就相当于创建一个新的构造器,你要在这个新的构造器中实现你所有的操作,包括查询,和条件,排序之类的,这样的好处在于,维护好一些,毕竟都放在一起的话,到时候容易迷。转载 2022-12-24 10:54:00 · 1590 阅读 · 0 评论 -
IDEA Maven创建多个Module相互依赖
引用地址:IDEA Maven创建多个Module相互依赖 - 走出高度 - 博客园1、前言 在大型企业项目中,系统架构复杂多变,一个项目根本无法支撑起所有业务。为了提高项目扩展性、灵活性、重用性,封装性,将项目分为多个Module是非常必要的。 这里就不说IDEA如何安装了,安装好IDEA后需要修改maven配置settings.xml,添加阿里镜像地址,提高maven下载依赖包速度。打开文件D:\Program Files\JetBrains\IntelliJ IDEA 2019.1\plugins\转载 2022-12-04 19:56:29 · 2199 阅读 · 0 评论 -
JDK8-Lambda表达式-对List的简化操作
mybatis-plus 作为 mybatis 的增强工具,它的出现极大的简化了开发中的数据库操作,但是长久以来,它的联表查询能力一直被大家所诟病。条件查询,可以查询主表以及参与连接的所有表的字段,全部调用mp原生的方法,正常使用没有sql注入风险。select() 查询指定的字段,支持可变参数,同一个select只能查询相同表的字段。默认主表别名是t,其他的表别名以先后调用的顺序使用t1,t2,t3…第二个参数: 连表的ON字段,这个属性必须是第一个参数实体类的属性。leftJoin() 参数说明。转载 2022-11-12 17:27:16 · 294 阅读 · 0 评论 -
API网关—Ocelot之服务发现
为了集成nacos和Ocelot的动态路由功能折腾了好久,还以为动态路由功能也需要自己提供实现,查看了好久Ocelot的源码,才在DownstreamRouteFinderMiddleware中发现,只有存在Host和Port的时候,查看DownstreamRouteFinderMiddleware中的IDownstreamRouteProviderFactory获取时,才能获取到DownstreamRouteCreator,才能从url中解析出ServiceName。转载 2022-10-17 21:22:18 · 404 阅读 · 0 评论 -
.net5+nacos+ocelot 配置中心和服务发现实现
从nacos中拉取服务列表,然后根据ocelot的配置模板,生成需要的ocelot的配置信息,然后放入ocelot中。通过上面的配置中心的配置方式,在nacos中 添加 ocelot 的模板配置。转载 2022-10-17 21:12:12 · 807 阅读 · 0 评论 -
Spring Boot 中的OAuth 2
OAuth是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无须将用户名和密码提供给第三方应用。实现这一功能是通过提供一个令牌(token) ,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站在特定的时段内访问特定的资源。这样,OAuth 让用户可以授权第三方网站灵活地访问存储在另外一些资源服务器的特定信息,而非所有内容。例如,用户想通过QQ登录知乎,这时知乎就是-一个第三方应用,知乎要访问用户的一些基本转载 2022-10-03 10:29:40 · 776 阅读 · 0 评论 -
zuul路由配置路径前缀问题
zuul路由配置路径前缀问题背景我们项目组刚使用spring cloud项目不久,项目运行了几个月也没有使用zuul作网关,之前是使用nginx配置不同路径规则进行不能服务端口的转发。nginx配置如下:location ^~ /user/ { proxy_pass http://xx.xx.xx.xx:xxxx;}location ^~ /product/ { proxy_pass http://xx.xx.xx.xx:xxxx;}location ^~ /cert/转载 2021-04-05 20:19:56 · 2030 阅读 · 1 评论 -
ElasticSearch作为搜索引擎-Spring Boot集成
引用地址:https://yejingtao.blog.youkuaiyun.com/article/details/78414874ElasticSearch作为搜索引擎,我们需要解决2大问题:1,如何将被搜索的数据在ES上创建反向索引2,Java代码如何与ES交互其中第一个大问题又分为两个小问题1.1,如何初始化已有的数据1.2,如何同步增量数据第二个大问题也有两种集成方式2.1 Spring Data 9300端口集成2.2 Restful API 9200端口集成...转载 2021-02-16 16:26:42 · 329 阅读 · 0 评论 -
.NET Core微服务之基于Steeltoe使用Spring Cloud Config统一管理配置
此篇已加入.NET Core微服务基础系列文章索引=>Steeltoe目录快速导航:1.基于Steeltoe使用Spring Cloud Eureka2.基于Steeltoe使用Spring Cloud Zuul3.基于Steeltoe使用Spring Cloud Hystrix4. 基于Steeltoe使用Spring Cloud Config5.基于Steeltoe使用Zipkin一、关于Spring Cloud Config 在分布式系统中,每一...转载 2020-10-08 11:09:52 · 299 阅读 · 0 评论 -
Hystrix使用说明,配置参数说明
一、什么情况下会触发fallback方法? 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT 执行开始,但没有在允许的时转载 2020-10-07 18:40:14 · 514 阅读 · 0 评论 -
Hystrix配置简单说明(官方文档简译)
官方文档:https://github.com/Netflix/Hystrix/wiki/Configuration参考文档:https://steeltoe.io/docs/3/circuitbreaker/hystrixHystrix属性的4中优先级1. 内置全局默认值(Global default from code)如果下面3种都没有设置,默认是使用此种,后面用“默认值”代指这种。2. 动态全局默认属性(Dynamic global default property)可.转载 2020-10-07 18:27:14 · 652 阅读 · 0 评论 -
Hystrix Timeout机制
因为在一个复杂的系统里,可能你的依赖接口的性能很不稳定,有时候2ms,200ms,2s,如果你不对各种依赖接口的调用做超时的控制来给你的服务提供安全保护措施,那么很可能你的服务就被依赖服务的性能给拖死了,大量的接口调用很慢,大量线程就卡死了。(1)execution.isolation.thread.timeoutInMilliseconds 手动设置timeout时长,一个command运行超出这个时间,就被认为是timeout,然后将hystrix command标识为timeout,同时执行转载 2020-10-07 18:22:08 · 704 阅读 · 0 评论 -
.NET Core微服务之基于Steeltoe使用Hystrix熔断保护与监控
一、关于Spring Cloud Hystrix 在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能会导致服务崩溃。为了解决这一系列的问题,断路器等一系列服务保护机制出现了。 断路器本身是一种开关保护机制,用于在电路上保护线路过载,当线路中有电器发生短路时,断路器能够及时切断故障电路,防止发生过载、发热甚至起火等严重后果。 针对上述问转载 2020-10-07 17:29:07 · 378 阅读 · 0 评论 -
zuul网关 路由url与service-id配置
在zuul中有两种路由配置:1. 通过访问ip及端口号映射2.通过服务名称映射在上节代码基础上:首先我把服务提供者与服务消费者都开了集群:先配置第一种:更改网关application.ymlserver: port: 8090eureka: client: service-url: default-zone: http://localhost:8761/eurekaspring: application: name: ..转载 2020-10-07 15:16:59 · 4123 阅读 · 0 评论 -
使用intellij idea对springcloud项目打jar包
目录结构如下:1.点击File->project Structure选项2.在弹出页面选择高亮的选项3.Main Class栏选(1)中main函数所在的class文件然后如图选择(2),打包出来jar包各种依赖是分散的,但是没关系,正常跑。如果选择第一个选项也就是打成一个jar包,我试过很多种方法,参考过很多的博客,都没有成功,所以就选第二个吧。然后有个地方(3)需要注意,直接默...原创 2020-10-02 20:16:42 · 1767 阅读 · 0 评论 -
springcloud中微服务的优雅停机
大部分项目部署中,为了方便,可能都直接使用kill -9 服务的pid来停掉服务。但是由于Eureka采用心跳的机制来上下线服务,会导致服务消费者调用此已经kill的服务提供者然后出错。可以采用以下方式来解决:核心是先调用方法主动通知Eureka注册中心服务下线,然后再停掉服务。本文会介绍几种eureka 注册中心服务下线的方式最不可取的就是直接使用kill命令停掉服务。默认情况下...转载 2020-04-02 10:49:09 · 370 阅读 · 0 评论 -
Spring Cloud-新一代Web框架微服务
序言springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。下面主要用图来理解下各个组件的概念吧都有哪些优秀组件Eureka功能:服务注册与发现,各个服务启动时,Eureka Cli...转载 2020-01-20 16:04:06 · 352 阅读 · 0 评论 -
struts2标签大全
在JSP中使用taglib编译指令导入标签库 A:-----超链接,类似于html里的-----执行一个view里面的一个action-----如果action的errors有值那么显示出来-----如果action的message有值那么显示出来-----添加一个值到list,类似于list.add();-----自动完成标签的内容,这个是ajaxB:--原创 2011-12-09 15:39:48 · 387 阅读 · 0 评论 -
struts2.0中struts.xml配置文件详解
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >struts> include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件转载 2011-12-18 14:30:04 · 445 阅读 · 0 评论 -
将Java Web 应用部署至 WebSphere 7
因为项目最终需要被部署至IBM WebSphere上,而且以前都没有接触过WebSphere,所以先写一个测试例子练练手。在网上找了很多文档,折腾了一下午,才把项目部署上去,有很多文档写得并不全,所以整理一份出来,希望能帮助到一些朋友!WebSphere 7 的安装过程我就不说了。基本上是默认配置。紧接着是你的JavaWeb应用的web.xml需要添加如下配置:转载 2011-12-17 08:47:34 · 617 阅读 · 0 评论 -
struts2.0之struts.xml详解
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">struts> include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中转载 2011-12-19 14:36:25 · 470 阅读 · 0 评论 -
struts2.0之struts.xml详解 (续一)
struts2 配置文件struts.xml method={1} {1} {n} method="{num}"action name="/edit*" class="com.Del{1}Action"> result name="failure" path="/requ.jsp"/>转载 2011-12-19 14:54:00 · 492 阅读 · 0 评论 -
史上最详细的struts 2 标签整理
a a标签创建一个HTML超链接,等价于HTML 的示范代码:登陆更多 a 信息 action 使用action标签 可以允许在JSP页面中直接调用Action。范例如下:更多 action 信息 actionerror 这个标签负责输出错误信息到客户端。示范代码:Action代码如下:转载 2011-12-09 15:17:49 · 540 阅读 · 0 评论 -
ActionContext的介绍
在Struts2.0中,Action已经与Servlet API完全分离,这使得Struts2.0的Action具有了更加灵活和低耦合的特性,与Struts1.0相比较而言是个巨大的进步。虽然Struts2.0的Action已经与Servlet API完全分离,但我们在实现业务逻辑处理时经常需要访问Servlet中的对象,如Session、Application等。Struts2.0 提供了一个名转载 2011-12-19 09:35:45 · 422 阅读 · 0 评论 -
struts.xml详解(续三) struts2的constant配置
struts2加载常量的顺序struts-default.xmlstruts-plugin.xmlstruts.xmlstruts.propertiesweb.xml后面的会覆盖掉前面的常量,最好在struts.xml中定义 怎么由.action改为.dodo或actiontruts2用来指定默认编码的 改变常量后不许重启服务器转载 2011-12-19 16:17:02 · 577 阅读 · 0 评论 -
struts2 -----interceptor 之 ActionInvocation 意义
“将Web页面中的输入元素封装为一个(请求)数据对象”,这个对象就是ActionInvocation类型.对于Xwork 而言,前端的Webwork 组件为其提供的是一个Map 类型的数据结构。而Action面向的却是Model对象所提供的数据结构。在何时、何处对这两种不同的数据结构进行转换?写一个辅助类完成这样的工作,并在每次Action 调用之前由框架代码调用他完成转换工作。转载 2011-12-20 09:02:22 · 1256 阅读 · 0 评论 -
Struts2.0中ActionInvocation使用
Interceptor说明Interceptor的接口定义没有什么特别的地方,除了init和destory方法以外,intercept方法是实现整个拦截器机制的核心方法。而它所依赖的参数ActionInvocation则是我们之前章节中曾经提到过的著名的Action调度者。我在这里需要指出的是一个很重要的方法invocation.invoke()。这是ActionInvocatio转载 2011-12-20 10:06:24 · 11271 阅读 · 4 评论 -
在Action获取Scope对象
在Action获取Scope对象引言:在前面的Action操作中,关键就是Action中的exectue方法,但是此方法并没有request、session、application等对象作为参数,自然就不能利用这些对象来操作。下面我们建立struts2scope项目,并用四种方式来获取这些对象:方式一、与Servlet解耦合的非IOC方式获取的scope对象与容器无关,通过Action转载 2011-12-19 09:58:38 · 545 阅读 · 0 评论 -
struts做开发的时候action是继承Action方法还是ActionSupport方法
Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口,还实现了Validateab转载 2011-12-20 09:20:38 · 1715 阅读 · 1 评论 -
java中Class.forName的含义
Class.forName(xxx.xx.xx) 返回的是一个类, .newInstance() 后才创建一个对象 Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段Class aClass = Class.forName(xxx.xx.xx);Object anInstance = aClass.new转载 2011-12-20 10:07:06 · 798 阅读 · 0 评论 -
struts2 -- interceptor(如何配置stuts2.xml之Interceptor)
struts-default.xml中定义了一系列的拦截器和拦截器栈同时也定义了一个默认的拦截器defaultStack,一旦定义了默认的拦截器,该拦截器就会对包中的所有的Action起作用,当然如果你的Action中显式地定义了拦截器,默认拦截器就会失去作用,如果想不让他失去作用,也必须显式地定义系统默认的拦截器。1.interceptor的配原创 2011-12-19 16:23:37 · 818 阅读 · 0 评论 -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener ->转载 2011-12-21 08:42:31 · 506 阅读 · 0 评论 -
struts2 message 用js提示输出 (转载)
第一种:在struts2 action中弹出Js脚本提示信息让action实现ServletResponseAware接口,同时实现其setServletResponse()方法import org.apache.struts2.interceptor.ServletResponseAware;public class StudentAction extends ActionSuppo转载 2011-12-20 13:57:49 · 1758 阅读 · 0 评论 -
web.xml 配置Filter
public class AuthorityFilter implements Filter {//FilterConfig可用于访问Filter的配置信息private FilterConfig config;//实现初始化方法public void init(FilterConfig config){this.config = config; }//实现销毁转载 2011-12-21 08:40:58 · 1509 阅读 · 0 评论 -
Java中int和Integer的区别详解
int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者>>integer 是后者(也就是一个类) 2.初始化时>> int i =1; Integer i= new Integer(1);(要把integer 当做一个类看) int 是基本数据类型(面向过程留下的转载 2011-12-14 11:10:43 · 412 阅读 · 0 评论 -
超强过滤器彻底解决JSP/SERVLET中文参数GET/POST传递的问题
一:首先学到的解决方法是在页面中request.setCharacterEncoding(“GB18030”)来设置请求的编码为中文编码,然后就在每个需要接收参数的页面噼里啪啦的写上这么一句,对当时的水平来说虽然累却也开心。二:后来开始做分页程序了,突然发现必须得用URL传参了,也就是要用GET方法传参了,那就用吧,程序里照样来request.setCharacterEncoding(“GB1转载 2011-12-15 11:01:26 · 1096 阅读 · 0 评论