springboot哪个版本稳定?

作者&投稿:邴油 (若有异议请与网页底部的电邮联系)
~ springboot2.0.0.m2是什么版本

Release表示是正式的版本.

RCstandsforReleaseCandidate表示后选版本

Mstandsformilestone表示里程碑版本.

一般而言,稳定性由上而下,依次降低.

,

springboot快速入门及@SpringBootApplication注解分析

简单demo

使用maven构建项目,官方现在稳定版本是1.5.4,第一个入门demo不是web项目,pom依赖如下:

实体User类:

配置类:

入口类Application:

项目结构目录

启动程序,以main方法启动:

打印出正确的结果。

来分析一下流程,为何Runnable类,User,Map会纳入spring容器。

首先我们分析的就是入口类Application的启动注解@SpringBootApplication,进入源码:

发现@SpringBootApplication是一个复合注解,包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration。

根据上面的理解,上面的入口类Application,我们可以使用:

使用@ComponentScan注解代替@SpringBootApplication注解,也可以正常运行程序。原因是@SpringBootApplication中包含@ComponentScan,并且springboot会将入口类看作是一个@SpringBootConfiguration标记的配置类,所以定义在入口类Application中的Runnable也可以纳入到容器管理。

看一个demo学会使用这些参数配置

在包下com.zhihao.miao.springboot定义一个启动应用类(加上@SpringBootApplication注解)

在com.zhihao.miao.beans包下定义一个实体类,并且想将其纳入到spring容器中,

启动启动类,打印结果如下:

说明Cat类并没有纳入到spring容器中,这个结果也如我们所想,因为@SpringBootApplication只会扫描@SpringBootApplication注解标记类包下及其子包的类(特定注解标记,比如说@Controller,@Service,@Component,@Configuration和@Bean注解等等)纳入到spring容器,很显然MyConfig不在@SpringBootApplication注解标记类相同包下及其子包的类,所以需要我们去配置一下扫包路径。

修改启动类,@SpringBootApplication(scanBasePackages="com.zhihao.miao"),指定扫描路径:

启动并打印:

当然使用@SpringBootApplication(scanBasePackageClasses=MyConfig.class),指定scanBasePackageClasses参数的value值是你需要扫描的类也可以,结果一样,不过如果多个配置类不在当前包及其子包下,则需要指定多个。

再看一个列子,

在上面的列子的相同包下(com.zhihao.miao.springboot)配置了People,并将其纳入到spring容器中(@Component),我们知道@SpringBootApplication注解会扫描当前包及其子包,所以People类会纳入到spring容器中去,我们需要将其排除在spring容器中,如何操作?

可以使用@SpringBootApplication的另外二个参数(exclude或excludeName)

启动类,

启动并打印结果:

然后修改@SpringBootApplication配置,

很明显启动报错。使用@excludeName注解也可以。如下,

@SpringBootApplication(excludeName={"com.zhihao.miao.springboot.People"})

参考文档:

Springboot1.5.4官方文档

springboot1.5,2.1+jdk8,jdk11的内存占用对比

对新的技术学习探索是一件快乐而有趣的事情。

最近关注了springboot最新版本2.1.1,jdk11。然后准备把手头的学习项目升级一下。

那么为什么不用jdk12而使用jdk11?我的判断很简单,因为jdk11是LTS版本啊。

那么升级总得有个差异,所以简单的通过项目版本变更对比下内存耗用情况。

首先介绍下我的项目:

springboot1.5.15+swagger+undertow+spring-orm4.3.3+jdk1.8

当前版本内存耗费截图如下:

启动时间:StartedJdyXcxApiin4.58seconds(JVMrunningfor5.083)

内存情况:堆内存中的初试内存堆大小500M,使用200M,超过30的时候回收了一下

开始升级springboot:

springboot2.1.1+swagger+undertow+spring-orm5.1.4+jdk1.8

启动时间:StartedJdyXcxApiin3.967seconds(JVMrunningfor4.832)

内存情况:堆内存中的初试内存堆大小500M,使用100M,超过250M的时候回收了一下

开始升级jdk:

springboot?2.1.1?+swagger+undertow+spring-orm5.1.4?+jdk11

启动时间:StartedJdyXcxApiin3.825seconds(JVMrunningfor4.581)

内存情况:堆内存中的初试内存堆大小300M,使用78M,超过M的时候回收了一下

综合统计:

如何选择SpringBoot最稳定的版本,以及相应的SpringCloud版本

1、登录Spring的官网,查看当前最稳定的版本。

当然了,想使用SpringCloud,还需要许多的jar包,如何选择兼容的jar包呢?在这里,我们可以考虑使maven的dependencyManagement功能。

dependencyManagement其实就相当于一个对jar版本进行管理的依赖管理器,如果在dependencies的dependency里没有找到version属性,Maven就会去dependencyManagement里寻找相应的版本信息。

如果既使用了dependencyManagement功能,又在dependencies的dependency里指定了version属性,dependency是以version属性为准的,所以,不用担心使用dependencyManagement功能之后无法自行指定jar包的版本信息。

在这里,我们选择的是alibaba的版本管理配置。

首先,进入阿里巴巴的GitHub地址,进入WiKi页面,点击版本说明。

或者直接点击版本说明

我们可以看到,2.4.2版本的SpringBoot,对应的alibaba版本是2020.0.RC1,对应的SpringCloud版本是2020.0,我们选择2020.0.2,最终配置如下。

我这里是为了学习,所以选择的都是最新版本,在生产环境,还是要根据实际情况来详细评估选择哪些版本,以免给自己挖坑。

jdk1.7选什么版本springboot

1.56。由于springboot2.0以后不支持jdk1.7,所以只能自降springboot的版本由2.0降为1.56。当选用jdk1.7构建springboot项目时会提示,选用jdk1.8。

请问2021年最稳定的jdk版本or哪个最好用,最流行!

Java8是继Java5之后改动最大的一个版本,很经典,目前企业用的最多的还是Java8,即使有人用Java11,但特性可能还是只用了Java8的,所以还是java8吧




怎么做无盘网吧系统?
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

无盘怎么做呀
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

网吧无盘系统怎么做
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时工作站应该能够无盘...

怎么给网吧做无盘系统
进入BIOS设置找到 “LAN BOOT”之类,由“Disabled”改为“Enabled” ,具体可参考主板说明文件。按F10保存退出。如是8139类的网卡可在开机显示”SHIFT + F10”的时候,按住右“SHIFT”键加 “F10”进入网卡启动设置画面,在第一项中选择“PXE”,第二项选择“Int 19” 最后按“F4”保存退出。这时...

巴马瑶族自治县13732698610: Spring Boot(Java平台上的一种开源应用框架) - 搜狗百科
冉柳复方: Release 表示 是正式的版本.RC stands for Release Candidate 表示 后选版本 M stands for milestone 表示里程碑版本.一般而言, 稳定性由上而下, 依次降低.,

巴马瑶族自治县13732698610: spring boot 运维怎么部署 -
冉柳复方: 这个问题应该是jar不兼容的问题!Spring针对quartz的支持是有严格的版本要求的一般都是spring3.2.2配quartz2.2.1那一整套最稳定,但是Spring不同的版本的quartz,spring就不行了,里面针对spring中的JobDetailFactoryBean类不支持,详细情况需

巴马瑶族自治县13732698610: spring boot和Spring Cloud有什么区别? -
冉柳复方: spring boot 下个项目会用,作为app的服务端框架,spring boot 我理解就是把spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种starter,来方便开发者使用这一系...

巴马瑶族自治县13732698610: spring 与 spring boot的区别在哪里,那个在工作中更常用? -
冉柳复方: Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的为开发Java应用程序提供了全面的基础架构支持.它包含一些很好的功能,依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、...

巴马瑶族自治县13732698610: spring boot支持win10吗 -
冉柳复方: 好用.在MacBook上装win10的体验是与在win下的win10一样的应用 在Mac上安装Windows,基本上可以通过两种方式来实现:虚拟机及双系统.方法一:Mac虚拟机安装Win10系统方法 首先下载ISO文件,虚拟机的选择包括VirtualBox、...

巴马瑶族自治县13732698610: spring boot和spring的区别 -
冉柳复方: 区别就是:Spring 提供的现成特性,比如依赖注入、事务管理、消息支持、集成支持、面向方面编程支持等等.但是配置比较繁琐.springboot的出现减少了大量配置和变更管理的框架开销. 只需在 application*.properties 文件或 application*.yml 中编写配置设置一次,并在各种环境中采用相同的构建版本,比如开发、测试和生产环境.

巴马瑶族自治县13732698610: spring - boot - starter - log4j 有哪些版本 -
冉柳复方: 看上图 最新版本是 1.3.7.RELEASE 还有好多版本

巴马瑶族自治县13732698610: spring boot用什么开发工具 -
冉柳复方: springboot定义: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. springboot开发工具推荐:iDEA Eclipse ...

巴马瑶族自治县13732698610: 搭建spring boot有哪些核心 -
冉柳复方: Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发.Spring 4倡导微服务的架构,针对这一理念,近来在微博上也有一些有价值的讨论,如这里和这里....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网