首页 > 编程语言 >【Java】开始学习Spring Boot了,你不来瞅一眼?

【Java】开始学习Spring Boot了,你不来瞅一眼?

时间:2022-11-02 22:01:35浏览次数:62  
标签:Web Java Spring 配置 Boot 应用程序

(开始学习Spring Boot了,你不来瞅一眼)

Spring Boot是什么?

做一名Java开发程序员必须要知道的开发利器——Spring Boot。在Java EE 领域,Spring Boot 在传统 Spring 框架的基础上做了比较大的创新和优化,将开发人员从以往烦琐的配置工作中解放出来,并提供了大量即插即用的集成化组件,从而解决了各种组件之间复杂的整合过程,大大提高了开发效率,降低了维护成本。还不太了解Spring boot的感觉学起来了,在此附上spring Boot官网链接image.png

通过浏览 Spring 的官方网站,看到有很多子项目,比如Spring Boot,Spring Cloud等等。而Spring Boot 已经成为 Spring 中顶级的子项目。自2014 年 4 月发布 1.0.0 版本以来,Spring Boot 俨然已经发展为 Java EE 领域开发Web应用程序的首选框架,是很多企业写程序的必备框架了,目前spring boot 最新版本已经是2.7.5。 image.png

简单的例子

让我们先来感受一下使用 Spring Boot 开发一个 RESTful风格 的 HTTP 端点所需要做的编码工作,如下所示

@SpringBootApplication
@RestController
public class DemoApplication {
    @GetMapping("/helloworld")
	public String hello() { 
	    return "Hello World!";
	}
	public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

这是一个经典的“Hello World”程序,而且使用 Spring Boot 来构建这样一个支持 RESTful 风格的 Web 应用程序只需要几秒钟。一旦创建了一个 Spring Boot 应用程序,并添加类似上面的 DemoApplication 类,我们就可以启动 Spring Boot 内置的Web服务器并监听8080 端口,剩余的一切工作Spring Boot 都帮你自动完成了,是不是很强大?Spring Boot 的强大之处还不止这一点,让我们一起看一下 Spring Boot 的核心功能。

支持哪些组件?

Spring Boot支持运行期内嵌容器(包含 Tomcat、Jetty 等支持 Servlet 规范的多款传统 Web 容器)。而在最新的 Spring Boot 2.X 版本中,还提供了对 Netty 以及集成 Servlet 3.1+ 的非阻塞式容器的支持。基于运行期内嵌容器机制,开发人员想要启动Web 服务只需要使用一行 java –jar 命令就可以了,是不是非常爽。

#Spring Boot特点

Spring Boot 的核心功能就是自动配置。在前面的示例中,Spring Boot 并没有像以前使用 Spring MVC 一样需要指定一大堆关于 HTTP 请求和响应的 XML 配置。事实上,Spring Boot 的运行过程同样还是依赖于 Spring MVC,但是它把原本需要开发人员指定的各种配置项设置了默认值,并内置在了运行时环境中,例如默认的服务器端口就是 8080,当然了也可以自己设置指定的端口。如果我们不需要对这些配置项有定制化需求,就可以不做任何的处理,采用既定的开发约定即可。这就是 Spring Boot 所倡导的约定优于配置(Convention over Configuration)设计理念。

另外,相较传统的 Spring 框架,Spring Boot 的一大亮点是引入了内置的监控机制,这是通过 Actuator 组件(常见的包括内存信息、JVM 信息、垃圾回收信息等)来实现的。基于 Actuator 组件,一方面我们可以查看包含自动配置在内的应用程序详细信息,另一方面可以实时监控该应用程序的运行时健康状态。Spring Boot 从多个维度简化了 Web 应用程序的开关过程,这些维度包含编码、配置、部署和监控

Spring Boot与传统 Spring MVC 的区别有哪些?

1.Spring boot 通过内置 tomcat,不再需要部署到 tomcat ,而可以直接通过像启动 Java 程序那样启动一个 web 服务器。而 Spring MVC 需要部署到tomcat 等web容器。以前web应用要使用到tomat服务器启动,而springboot内置服务器容器,通过@SpringBootApplication中注解类中main函数启动即可。 2.springboot是约定大于配置,可以简化spring的配置流程;springmvc是基于servlet的mvc框架,配置较多,容易出错,而且工作量也多。

标签:Web,Java,Spring,配置,Boot,应用程序
From: https://blog.51cto.com/u_15312559/5818393

相关文章

  • SpringBoot + Mybatis系列之插件机制 Interceptor
    【SpringBoot+Mybatis系列】插件机制Interceptor在Mybatis中,插件机制提供了非常强大的扩展能力,在sql最终执行之前,提供了四个拦截点,支持不同场景的功能扩展Executor(......
  • javaSE基础-注解与枚举类
    注解与枚举类注解1、jdk5.0新增的功能2、Annotation就是代码的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应处理,通过使用注解程序员在可以不改变原有......
  • [springboot, lettuce] io.lettuce.core.RedisCommandTimeoutException: Command time
    https://blog.csdn.net/zzhongcy/article/details/118935350?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFr......
  • 2.什么是SpringMVC
    2.什么是SpringMVC概述:  SpringMVC是SpringFramework的一部分,是基于Java实现MVC的轻量级Web框架官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spri......
  • SpringBoot笔记:集成MyBatis
    SpringBoot中使用MyBatis与MVC中本质是一样的,只是某些配置可以直接使用注解完成,使编码更加便捷了。1.pom依赖集成MyBatis通常需要MyBatis、Spring、数据库驱动三个依赖,......
  • JAVA狂神数组
    一,数组的声明创建 具体定义的方法如下:1,先声明,int(不一定是int,可以换为需要创建的类型,如double等)一个数组,并给它命名。2,在把声明的数组通过new创建出来。3,再给创建的......
  • Java 中的 Lambda 表达式不能访问局部变量?
    问题现象从Java8开始新增的Lambda表达式,可以使代码变的更加简洁紧凑,使用中还会碰到一个问题:Variableusedinlambdaexpressionshouldbefinaloreffectivelyf......
  • SpringMVC源码-创建FormattingConversionServiceFactoryBean
    一、FormattingConversionServiceFactoryBeanFormattingConversionServiceFactoryBean实现了FactoryBean接口,可以通过getObject获取ConversionService。FormattingConver......
  • JAVA的HALF_DOWN和HALF_UP的区别?
    Java代码:publicclassBigDecimalDemo{publicstaticvoidmain(String[]args){BigDecimalbd2=BigDecimal.valueOf(11);......
  • org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose
    一、问题背景二、报错截图如下三、我的项目配置如下<!--服务注册/发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud......