一、概述SpringBootFatJar的设计,打破了标准jar的结构,在jar包内携带了其所依赖的jar包,通过在标准jar包中指定的 Main-Class 的main方法启动后,创建自己的类加载器,来识别、加载、运行其非规范的目录下的代码(BOOT-INF/classes/...)和依赖(BOOT-INF/lib/...)。BOOT-INF/classes/ 目录下有SpringBoot上下文的启动类的class文件,自定义类加载器加载这个启动类后,开始进入SpringBoot的上下文中运行我们所写的程序代码。执行的流程可概括为:通过 java-jar xxx.jar 启动应用执行xxx.
ElasticSearch创建索引,删除索引,判断index是否存在,根据id删除指定索引中的文档,根据id更新指定索引中的文档,根据id更新指定索引中的文档,根据某字段的k-v更新索引中的文档,添加文档手动指定id,简单模糊匹配默认分页为0,10,term查询精准匹配,term查询精准匹配,返回列表,term查询,返回列表,查询列表并高亮,批量导入,获取分词结果,返回聚合结果。1、在application.yml配置如下内容#数据源配置spring:data:elasticsearch:client:reactive:endpoints:127.0.0.1:9200connection-ti
1.环境要求环境&工具版本SpringBoot3.0.5+IDEA2021.2.1+Java17+Maven3.5+Tomcat10.0+2.SpringBoot是什么SpringBoot能帮我们简单、快速地创建一个独立的、生产级别的Spring应用(说明:SpringBoot底层是Spring)SpringBoot应用只需要编写少量配置即可快速整合Spring平台以及第三方技术特性:快速创建独立Spring应用导包、写配置、启动运行直接嵌入Tomcat、JettyorUndertow(无需部署war包)jar:java环境;java-jar重点:提供可选的starter,简化应用整合场景启动
mock静态方法步骤使用PowerMockito.mockStatic()加上@RunWith和@PrepareForTest注释如果报错下面的错则考虑加上@PowerMockIgnorepublicclassDemo{ publicstaticStringsetName(Stringname){ returnname; }}@RunWith(PowerMockRunner.class)@PrepareForTest(RateLimiterMetric.class)@PowerMockIgnore({"javax.management.*","javax.script.*"})publicc
今日写一个websocket小demo,启动项目时出现错误如下图检查也没发现漏写注解,思考片刻后突然想起springboot扫描的范围是与启动类同级别的包-就是com.huang.demo.ssm目录下所有注解bean都被扫描,那么ws包里面的bean不在ssm这个路径下,所以导致springboot启动时扫描不到。最后把ws包及文件移到ssm下面启动没问题。
前言在没有elasticsearch客户端的情况下SpringBoot是没有办法链接的,点击前往配置客户端1.SpringBoot项目导入依赖dependency> groupId>org.elasticsearch.clientgroupId> artifactId>elasticsearch-rest-high-level-clientartifactId> version>7.17.4version>dependency>dependency> groupId>com.alibabagroupId> artifactId>fastjsonartifactId> version>1.2.7
Druid介绍Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP、C3P0、BoneCP、Proxool、JBossDataSource等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐!本地开发环境说明开发依赖版本SpringBoot3.0.6druid-spring-boot-3-starter1.2.18JDK20SpringBoot集成Druid如果是SpringBoot2.x,使用以下依赖dependency>groupId>com.alibabagroupId>art
jpa的sava与saveAllsave()方法@TransactionalpublicSsave(Sentity){if(this.entityInformation.isNew(entity)){this.em.persist(entity);returnentity;}else{returnthis.em.merge(entity);}}根据源码我们可以看出来,save是先通过判断这个对象是不是新的,新的便会新增,否则就是执行的修改。整个是有分两步进行的,先查询再新增saveAll()方法@TransactionalpublicListsaveAll(Iterableentities){
0写在前面项目启动需要一个链接数据库,所以在此记录一下。根据配置文件的后缀书写格式略有不同。此处以MySQL为例,使用Maven为例1引入依赖dependency>groupId>mysqlgroupId>artifactId>mysql-connector-javaartifactId>version>8.0.30version>dependency>dependency>groupId>org.mybatis.spring.bootgroupId>artifactId>mybatis-spring-boot-starterartifactId>version>1.1.1version>de
WebService简介WebService接口的发布通常一般都是使用WSDL(webservicedescriptivelanguage)文件的样式来发布的,该文档包含了请求的参数信息,返回的结果信息,我们需要根据WSDL文档的信息来编写相关的代码进行调用WebService接口。接下来我将采用常见的两种方式调用WebService接口。场景描述目前我需要使用java调用C#系统的一个WebService接口,传递参数为一个表号,返回的是一个Xml的数据类型,需要实现调用接口,获取到xml之后并解析为Json格式数据,并返回给前端。Java调用WebService接口,需要根据提供接口方的X