首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏九州牧云

    Spring Boot 性能优化

    Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。 我们已经在几个项目中使用了 Spring Boot ,今天我们就来一起讨论一下如何改进 Spring Boot 应用的性能。 首先,从之前我在开发中遇到的一个问题说起。 总结 这些都是我们在项目开发中使用到的一些优化 Spring Boot 应用的小技巧,对于大的应用性能的提高还是很明显的。大家可以尝试一下,然后告诉我们你的测试结果。 摘选文章及链接: (1)Spring Boot 性能优化Spring Boot Performance; (2)Spring Boot 内存优化Spring Boot Memory Performance ; (3)https://www.techempower.com/benchmarks/; (4)Spring 应用程序优化:Optimizing Spring Framework for App Engine

    1.3K30发布于 2019-08-21
  • 来自专栏A周立SpringCloud

    优化你的Spring Boot

    方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 针对上述的优化点来说,首先线程数是一个重点,初始线程数和最大线程数 jvm优化一般来说没有太多场景,无非就是加大初始的堆,和最大限制堆,当然也不是无限增大,根据的情况进快速开始 在spring boot配置文件中application.yml,添加以下配置 server : tomcat: min-spare-threads: 20 max-threads: 100 connection-timeout: 5000 这块对tomcat进行了一个优化配置 ,最大线程数是100,初始化线程是20,超时时间是5000ms Jvm优化 这块主要不是谈如何优化,jvm优化是一个需要场景化的,没有什么太多特定参数,一般来说在server端运行都会指定如下参数 初始内存和最大内存基本会设置成一样的 5.打开Jconsole,进行远程连接,输入IP和端口即可 ? 点击连接,经过稍稍等待之后,即可完成连接,如下图所示: ? 同理,JvisualVm的远程连接是同样的,启动参数也是一样。

    1K31发布于 2019-07-15
  • 来自专栏悠扬前奏的博客

    Spring Boot-5.Favicon

    默认的Favicon Spring Boot提供了默认的Favicon图表,和Spring的标志一样,一个绿色的叶子。 默认Favicon是开启的。 ? Spring Boot 默认Favicon 2. 关闭Favicon 在application.properties中设置,可以关闭Favicon。 spring.mvc.favicon.enabled=false ?

    81130发布于 2019-05-31
  • 来自专栏飞鸟的专栏

    Spring Boot的性能优化(二)

    避免重复扫描Spring Boot使用自动配置来为应用程序提供默认配置。但是,如果您的应用程序中包含多个@SpringBootApplication注解,则可能会发生重复扫描的情况。 Spring Boot提供了异步处理的支持。您可以在方法上使用@Async注解来指示方法应该异步执行。 您可以使用Spring Boot的静态资源处理功能来处理静态资源。 Spring Boot提供了JPA分页的支持。您可以在Repository接口中定义一个分页方法。

    56620编辑于 2023-04-06
  • 来自专栏飞鸟的专栏

    Spring Boot的性能优化(三)

    Spring Boot提供了对多种缓存技术的支持,例如,Ehcache、Redis和Caffeine等。 Spring Boot提供了异步数据库访问的支持。您可以在Repository接口中定义异步方法。 Spring Boot提供了对多种连接池技术的支持,例如,HikariCP、Tomcat JDBC和Commons DBCP2等。

    71920编辑于 2023-04-06
  • 来自专栏架构师进阶

    Spring Boot集成CKFinder-优化

    Spring Boot集成CKFinder-优化,对一些配置做一下优化,使配置更加灵活。 优化一:ckfinder.xml ckfinder.xml文件中,baseDir、baseURL需要配置固定路径。把这2个配置放到application.properties中。这样就灵活多了。 Spring Boot支持Servlet的注入,参考示例。 优化二:ImageBrowseServlet ImageBrowseServlet上文已经做了优化,Servlet用注入的方式更灵活,可以很方便的初始化一些参数。

    69640发布于 2019-08-08
  • 来自专栏程序IT圈

    精通 Spring Boot 系列文(5

    Spring Boot 处理 JSON 数据 JSON 是目前主流的前后端数据传输方式,当 Controller 中返回的是一个 Java 对象或 List 集合时,Spring Boot 将自动把它转换成 Spring Boot 中内置了 JSON 解析功能,当你在项目中,添加了 spring-boot-starter-web 模块之后,即可看到默认包含 Jackson 解析器,也可以换成 Fastjson </groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> 解析器,整合之后需要提供相应的 HttpMessageConverter 才能使用,添加依赖,具体如下: <dependency> <groupId>org.springframework.boot </groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion>

    48940发布于 2021-01-19
  • 来自专栏飞鸟的专栏

    Spring Boot的性能优化(一)

    Spring Boot是一个快速构建应用程序的框架,但在高负载下可能会出现性能问题。在本文中,我们将讨论如何对Spring Boot应用程序进行性能优化,以提高其性能和响应能力。 我们将探讨一些常见的性能优化技术,并提供一些示例。启用缓存Spring Boot提供了缓存支持,可通过在启动类上添加@EnableCaching注解来启用。 使用连接池Spring Boot默认使用Tomcat JDBC连接池。连接池可用于缓存数据库连接,从而提高应用程序的性能。如果您没有使用连接池,请考虑将其添加到您的应用程序中。 tomcat-jdbc</artifactId> <version>9.0.48</version></dependency>您可以在application.properties文件中配置连接池:spring.datasource.url =100spring.datasource.max-idle=20spring.datasource.min-idle=5在上面的示例中,initial-size表示连接池中最初创建的连接数,max-active

    84110编辑于 2023-04-06
  • 来自专栏写代码和思考

    Spring Boot 入门 (5) 深入Actuator

    背景 Spring组件扫描和自动织入,最常遭人抱怨的问题之一就是很难看到应用程序中的组件 是如何装配起来的,有没有一种办法能让你深入应用程序内部一窥究竟,了解它的行为,检查 它的健康状况呢? 我们将了解 Spring Boot的Actuator。它提供了很多生产级的特性,比如监控和度 量Spring Boot应用程序 2. 启用 Actuator 要开启,需要增加一个依赖 compile 'org.springframework.boot:spring-boot-starter-actuator' 默认情况下仅仅开启了少量 image.png 5) 度量情况 /metrics 对运行时度量情况做一个快照,这对评估应用程序的健康情况很有帮助。Actuator 提供了一系列端点,让你能在运行时快速检查应用程序。 ? /spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-enabling https

    81020发布于 2021-05-13
  • 来自专栏凯哥Java

    spring boot框架学习5-spring boot的web开发(1)

    本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源? 好了,现在开启spring boot的web开发第一节 本节主要: 1:spring boot 自动配置viewResolver 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第五篇 spring boot框架学习5-spring boot的web开发(1) 声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载! 一:spring boot自动配置viewResolver讲解 1.1:spring boot所有自动配置在哪个包下? 所有的配置都在spring-boot-autoconfigure这个包下。 1.2 spring bootviewResolver具体位置: ?

    56720发布于 2019-07-01
  • 来自专栏小工匠聊架构

    Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件

    Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理 ---- package org.junit.jupiter.api; import static ---- Junit5 常用注解 @SpringBootTest: 用于指定测试类启用Spring Boot Test,默认会提供Mock环境。 @ExtendWith: 如果只想启用Spring环境进行简单测试,不想启用Spring Boot环境,可以配置扩展为:SpringExtension。 @Test: 指定方法为测试方法。 ---- 栗子 以下是上述注解的使用方法示例以及相应的Java代码: @SpringBootTest:用于指定Spring Boot测试。 Spring Boot测试。

    8.1K31编辑于 2023-09-12
  • 来自专栏测试技术圈

    Spring Boot Web 应用性能优化

    配置项优化 Spring Boot Web 应用加速 完整配置项 management.add-application-context-header = false spring.mvc.formcontent.putfilter.enabled Spring Boot 默认场景下,将 org.springframework.web.filter.HttpPutFormContentFilter 被 org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration 自动装配,以下为 Spring Boot 1.4.1.RELEASE 以及更好版本定义(可能存在一定的差异): @Configuration @ConditionalOnWebApplication Spring Boot 默认场景下,将 org.springframework.web.filter.HttpPutFormContentFilter 被 org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration 配置项 按目前最新的 Spring Boot 1.5.2.RELEASE 版本中实现,也没有提供类似 spring.mvc.formcontent.putfilter.enabled 这样的配置项关闭

    94320发布于 2019-08-01
  • 来自专栏小工匠聊架构

    Spring Boot - Junit4 Junit5 Spring Boot IDEA 关系梳理

    ://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Older-Release-Notes ---- @SpringBootTest 起源 & Spring-Boot-1.4-Release-Notes https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.4 /spring-projects/spring-boot/wiki/Spring-Boot-2.1-Release-Notes ---- 2.2.0.RELEASE ~ 2.2.13.RELEASE https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes ---- 2.3.0.RELEASE ~ 2.3.12.RELEASE https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes

    95630编辑于 2023-09-12
  • 来自专栏一个会写诗的程序员的博客

    Spring Boot极简教程》第5Spring Boot自动配置原理

    5Spring Boot自动配置原理 5.1 SpringBoot的核心组件模块 首先,我们来简单统计一下SpringBoot核心工程的源码java文件数量: 我们cd到spring-boot-autoconfigure 目前,github上spring-boot项目的最新的starter列表spring-boot/spring-boot-starters如下: spring-boot-starter spring-boot-starter-activemq spring-boot-starter-jdbc spring-boot-starter-jersey spring-boot-starter-jetty spring-boot-starter-jooq 上面文字描述了这么多,再用一张形象生动的图来说明[5]: ? javaee6/p/3714719.html 4.https://github.com/mybatis/spring-boot-starter 5.https://afoo.me/posts/2015

    80120发布于 2018-08-20
  • 来自专栏IT云清

    Spring Boot---(5)SpringBoot常用注解

    @SpringBootApplication: 这是Sprint Boot的标识,它包含@Configuration、@EnableAutoConfiguration、@ComponentScan 该注解的详细原理参见:Spring Boot---(20)SpringBoot核心原理:自动化配置1 @RestController: 一般用在控制层,比如controller,包含@Controller @Bean: 相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。 @EnableAutoConfiguration: 让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上。 }") public String getByMacAddress(@PathVariable String macAddress){   //do something; } @Profiles Spring

    84530发布于 2019-01-22
  • 来自专栏玩转JavaEE

    Spring Boot3 新玩法,AOT 优化

    今天和小伙伴们来聊一聊 Spring6 中的一个新特性 AOT(Ahead of Time),这也是目前在学习 Spring6 源码视频的小伙伴的一个提问,其实还是挺有代表意义的,因此松哥整理一篇文章来和大家聊一聊这个话题 AOT 工作流程 Spring Framework 6 引入了AOT(Ahead-Of-Time)编译的概念,这是一种提前编译 Spring 应用程序的技术,以优化运行时性能,减少启动时间,并为创建 GraalVM Graal 编译器采用了基于图形的优化方法,可以更好地优化代码并提高执行性能。 内存占用:GraalVM 在内存占用方面相对较低,这是由于其编译器技术和优化策略的改进。相比之下,HotSpot JVM 在某些情况下可能会占用更多的内存。 最后,还需要安装一下 native-image,当然大家可以顺便用这个安装检验一下自己的 GraalVM 是否配置正确: 3.2 代码实践 接下来我们创建一个 Spring Boot 工程,来体验一下

    4K11编辑于 2024-01-17
  • 来自专栏丑胖侠

    5分钟快速上手Spring Boot

    创建项目方式二 第二种创建方式就是直接使用IDEA进行创建,当然前提是IDEA中已经安装了Spring Boot相关的插件——Spring Boot,如下图所示。 ? 项目依赖 在之前的Spring项目搭建我们需要了解每个功能都使用了Spring的哪些核心依赖包,然后逐一引入。使用Spring Boot便无需关注那么多。来看一下pom.xml文件内容。 <? <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId 元素中,引入了spring-boot-starter-web这个starter和单元测试的starter。 Spring技术视频 CSDN学院:《Spring Boot 视频教程全家桶》

    99620发布于 2019-05-29
  • 来自专栏架构师成长之路

    Spring Boot(5) @Async异步线程池详解

    Spring异步线程池的接口类 :TaskExecutor 在Spring4中,Spring中引入了一个新的注解@Async,这个注解让我们在使用Spring完成异步操作变得非常方便。 线程池同时被quartz和非quartz使用,才需要使用此类 5. ThreadPoolTaskExecutor :最常使用,推荐。 在spring boot应用中使用@Async很简单: 1、调用异步方法类上或者启动类加上注解@EnableAsync 2、在需要被异步调用的方法外加上@Async 3、所使用的@Async注解方法的类对象应该是 Spring容器管理的bean对象; 启动类加上注解@EnableAsync: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication Boot主类中定义一个线程池,public Executor taskExecutor() 方法用于自定义自己的线程池,线程池前缀”taskExecutor-”。

    6.4K20编辑于 2022-04-14
  • 来自专栏搜云库技术团队

    Spring Boot 3.x 启动优化实践

    本文将介绍一些优化Spring Boot启动时间的实践方法,并通过代码示例提供明确的指导。 1. 懒加载 Spring Boot 2.2及以上版本支持懒加载,减少启动时的CPU和内存使用。 减少自动配置的类 Spring Boot的自动配置是方便但可能拖慢启动的原因之一。可以通过排除不必要的自动配置来优化启动时间。 5. 使用JVM参数调优 JVM启动参数对Spring Boot应用的启动时间有显著影响。 当然,这里有更多关于优化Spring Boot启动时间的实践方法: 6. 精简依赖 移除项目中未使用的依赖可以减少Spring Boot应用的启动时间。 <! 总结 这篇文章提供了几种优化Spring Boot启动时间的方法和对应的代码示例。 Spring Boot启动优化需要综合考虑各方面因素,包括代码、配置、环境等。

    1.2K10编辑于 2023-11-30
  • 来自专栏全栈程序员必看

    Spring-boot_Spring Boot

    1 概述 Jasypt是一个加密库,Github上有一个集成了Jasypt的Spring Boot库,叫jasypt-spring-boot,本文演示了如何使用该库对配置文件进行加密。 2 依赖 首先添加依赖: <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter <version>3.0.4</version> </dependency> Gradle: implementation("com.github.ulisesbocchio:jasypt-spring-boot-starter +y5nl5bex0adByroKVEa3bUjBhJZrdgS7MZMJUgElyLbcAmunhFpRiXQXzCKRC+5JJNiDwyHuNj9qe3LUItNuorQSyGVfOekAqse0hB4SDPG3nchiXz43OOUl8Dudk28S8cIlcQIDAQAB +Esm5XQYMZhWFclQupgJ9tclQvDwoaoVqxi9jFFyS4Gr1lLTeYO+fRG+R3zsrnQM8CuYbhDY3kQOMH7qfKZxDqojyoKv+MYWyAlyJVR4vs5BBOo68pijhQKBgQDmbmyRFadurtym9fEUpp1ybdSYVL5Doo5c

    1.9K20编辑于 2022-11-09
领券