第一篇:SpringBoot 2.x 构建工程

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 简介一直以来都想写点关于springboot的东西,每次遇到的问题又记不住,本次的记录也是拾人牙慧,写一点关于自己的理解。SpringBoot关于它在官网上的介绍是这样的image.

简介

一直以来都想写点关于springboot的东西,每次遇到的问题又记不住,本次的记录也是拾人牙慧,写一点关于自己的理解。
SpringBoot关于它在官网上的介绍是这样的

img_3394344afdcc9ffdfeff26bf0821b8a2.png
image.png

一个基于Spring可以轻松创建的独立的,生产级别的应用,让你可以 “只管运行”

官方的解释不是重点,我们只需要去关注SpringBoot是如何做到只管运行

在这里使用官方的springio构建项目的方式以及eclipse的springboot插件的构建方式,我就说下关于idea的搭建方式,其余的方式这里就不再赘述了,想要了解的同学可以去网上去查下资料。

接下来

img_f059a8bfdfdeb03e68bafd62743dbb79.png
next

img_1557fce6217006313ae6036d3fb1d49d.png
next

在此处勾选需要使用的功能模块,当然可以什么都不勾,等项目创建完毕后直接在pom.xml中添加也是可以的,需要注意的是SpringBoot在2.0之前JDK1.7都是支持的,但更新到2.0之后就需要1.8+了,所以在构建项目时,JDK的版本最好也更新到1.8+,maven也升级到3.2+

img_dbf41d5e2a46ed0dd2d2d3a16c6c3f1d.png
next

最后,填好工程名以及选择好工程地址就可以开始使用了SpringBoot了。

img_15dc130902353c6a63908829fc711b57.png
image.png

最后的结构如下图所示

img_b68738f51d5ce96aca7775dd6dcc9e01.png
image.png

这个Demo1Application是自动生成的也是我们待会需要运行的文件,这里需要注意的最好把该文件放在根目录下,不然可能会出现一些问题。

好了,接下来的话,开始运行这个文件

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.5.RELEASE)

2018-10-08 14:22:07.086  INFO 5956 --- [           main] com.gabriel.Demo1Application             : Starting Demo1Application on stu with PID 5956 (C:\Users\Administrator.CDEDUASK_PC\IdeaProjects\demo1\target\classes started by Administrator in C:\Users\Administrator.CDEDUASK_PC\IdeaProjects\demo1)
2018-10-08 14:22:07.090  INFO 5956 --- [           main] com.gabriel.Demo1Application             : No active profile set, falling back to default profiles: default
2018-10-08 14:22:07.258  INFO 5956 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@2aa5fe93: startup date [Mon Oct 08 14:22:07 CST 2018]; root of context hierarchy
2018-10-08 14:22:09.050  INFO 5956 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-10-08 14:22:09.076  INFO 5956 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-10-08 14:22:09.076  INFO 5956 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.34
2018-10-08 14:22:09.090  INFO 5956 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\WorkSofe\java\jdk\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\WorkSofe\java\jdk\bin;%JAVA_HOME\jre\bin;C:\ProgramData\Oracle\Java\javapath;C:\WorkSofe\Oracle11\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\WorkSofe\TortoiseSVN\bin;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.3 & MySQL Utilities 1.5.3 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.3 & MySQL Utilities 1.5.3 1.5\Doctrine extensions for PHP\;C:\Program Files\Git\cmd;C:\Go\bin;C:\Program Files\VisualSVN Server\bin;C:\Users\Administrator.CDEDUASK_PC\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\Administrator.CDEDUASK_PC\AppData\Local\Programs\Python\Python37\;D:\sshAZ;%GOPATH%\bin;.]
2018-10-08 14:22:09.191  INFO 5956 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-10-08 14:22:09.191  INFO 5956 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1938 ms
2018-10-08 14:22:09.264  INFO 5956 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-10-08 14:22:09.270  INFO 5956 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-10-08 14:22:09.271  INFO 5956 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-10-08 14:22:09.271  INFO 5956 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-10-08 14:22:09.271  INFO 5956 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-10-08 14:22:09.419  INFO 5956 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-10-08 14:22:09.628  INFO 5956 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@2aa5fe93: startup date [Mon Oct 08 14:22:07 CST 2018]; root of context hierarchy
2018-10-08 14:22:09.727  INFO 5956 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-10-08 14:22:09.728  INFO 5956 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-10-08 14:22:09.756  INFO 5956 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-10-08 14:22:09.756  INFO 5956 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-10-08 14:22:09.957  INFO 5956 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-10-08 14:22:10.000  INFO 5956 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-10-08 14:22:10.004  INFO 5956 --- [           main] com.gabriel.Demo1Application             : Started Demo1Application in 3.753 seconds (JVM running for 4.316)

启动日志如上,看到端口了,访问一下吧


img_96e8e682b77102b2e0e1322f06bc4433.png
image.png

看到error page了? don't worry 我们来看看启动日志

img_cbd04d743f9b6197745c16c934912f5c.png
image.png

原来是没有配置映射,ok 我们打开Demo1Application来看看


img_4dceb811351a87b2f961f20498f828bf.png
image.png

给这个类加上映射来访问看看

img_f61547d127a037801533e2737b723173.png
image.png

看看这次的启动日志


img_1d0a130e1cf3aa4955225d174745df06.png
image.png

明显有个 / 被映射到了,这次应该没什么问题了,再次访问

img_c4f800070af053b5c34883f51fbca083.png
image.png

SpringBoot YES! 好了,我们的工程构建完毕了。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
547 4
|
Java API 数据库
如何使用Spring Boot构建RESTful API,以在线图书管理系统为例
【10月更文挑战第9天】本文介绍了如何使用Spring Boot构建RESTful API,以在线图书管理系统为例,从项目搭建、实体类定义、数据访问层创建、业务逻辑处理到RESTful API的实现,详细展示了每个步骤。通过Spring Boot的简洁配置和强大功能,开发者可以高效地开发出功能完备、易于维护的Web应用。
523 3
|
12月前
|
安全 Java API
Spring Boot 功能模块全解析:构建现代Java应用的技术图谱
Spring Boot不是一个单一的工具,而是一个由众多功能模块组成的生态系统。这些模块可以根据应用需求灵活组合,构建从简单的REST API到复杂的微服务系统,再到现代的AI驱动应用。
1545 8
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
551 62
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
2404 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
Java 应用服务中间件
SpringBoot工程打包部署
SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。
1403 7
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
907 1
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
888 5
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
768 1