热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot启动脚本详解:BAT文件应用与基础入门指南(SpringBoot系列第1篇)

如果你还在为SSM框架的复杂搭建过程和繁琐的配置文件而烦恼,那么SpringBoot将是你的一大福音。作为SpringBoot系列的第一篇文章,本文详细介绍了如何使用BAT文件来启动SpringBoot应用,并提供了基础入门指南,帮助开发者快速上手,简化开发流程。

相信你还在为SSM框架繁琐的搭建过程而苦恼,还在为复杂的配置文件而忧心,现在SpringBoot终于来了,它化繁为简,让开发变得极其简单而快速,短短几年时间已经成为了开发的主流框架。作为一个与时俱进的程序员,当然要把握时代的潮流,因此将从这篇文章开始,由基础到进阶,开始对springboot进行一个全面的分析。

一、什么是Springboot

其实Springboot是Spring家族中的一个全新的框架,它是用来简单应用程序的创建和开发过程,化繁为简,简化SSM框架的配置。比如说在使用SSM框架开发的时候,我们需要配置web.xml,配置spring,配置mybatis,并将它们整合到一起,而是用Springboot就不同了,它采用了大量的默认配置来简化这些文件的配置过程。我们在百度指数看看这几年springboot和SSM框架的搜索指数:

940a76cb661f5d2e2811ed5d6ac2a291.png

在2017年下半年,spingboot就是出于一个喷发的状态,因此学习springboot是多么的有必要。

说实话在学习springboot的时候千万不要把他想象的太麻烦,因为它确实太简单,而且也不是什么全新框架,只是把很多其他的框架整合了进来,不需要自己去配置而已。有了这个概念,你就可以带着轻松的心情去学习了。

二、springboot的特点

其实上面已经对其特点进行了一个总结,那就是简化程序搭建过程和开发过程,现在对其细说一下:

(1)可以不使用xml配置文件,全部采用注解的方式开发

(2)能快速构建spring的web程序

(3)可以使用内嵌的Tomcat、jetty等服务器去运行SpringBoot程序

(4)使用maven来配置依赖

(5)可以对程序进行健康检查

(6)等等

既然Springboot这么厉害,我相信你已经迫不及待的想要去看看它到底长什么样了吧,下面我们在我们的开发工具IDEA中创建一个springBoot项目,如果你使用的是eclipse,那么你需要去安装一个spring Tool suite插件就好了

三、创建一个springBoot项目

当然在创建项目之前,我们要先做一些预备工作,开发工具使用IDEA,要提前掌握maven的知识,java版本推荐是8,springboot的版本使用最新的就好了。

由于IDEA工具中封装了Springboot,因此我们可以直接拿来创建,创建的过程我使用了一张gif图来演示一下。如果看不懂配合着图下面的解释多看几遍,自己动一下手基本上就能搞定。

476b2ecdf7cb909d1c0887e02623b693.gif

上面的动图已经很详细了,为了你看着混乱,我们再去梳理一下:

第一步:选择 File -> New —> Project

第二步:选择 Spring Initializr—>Next 会出现Idea 帮我们集成好的配置界面,我们在这一步选中java版本、语言等配置信息,接着点击最下面的next。

第三步:Dependencies界面—>web—>选择SpringWebStarter—>finish即可

上面点击finish之后,idea会自动下载和配置,等一会就创建项目成功了,下面我们介绍一下创建好的项目结构:

4827d20798b4139551640024a52b0534.png

从上往下我们挨个分析:

(1)Spring Boot 的基础结构共三个文件夹:

  • src/main/java:程序开发文件夹,我们的在这里写程序代码。
  • src/main/resources:配置文件
  • src/test/java:测试程序

(2)src/main/java下的DemoApplication.java

主要作用就是主程序的入口,相当于main函数。

(3)src/main/resources下的static

里面保存了一些配置资源,比如图片等等。

(4)src/main/resources下的application.proties

它是全局配置文件,在这里定义一些接口的端口号等等各种信息。

(5)pom文件

这个文件极其重要,他定义了一些项目的依赖信息,

(6)mvnw和mvnw.cmd

一个是在linux下的shell执行脚本,一个定义了在windows下的bat执行脚本。

(7)其他的不重要我们这里就不说了

到目前为止我们已经能够创建一个项目了,也知道了项目的基本结构,现在我们就来演示一个案例看一下SpringBoot开的便捷性,同时也给出一些必要文件的信息。

四、第一个SpringBoot案例

1、简单小例子

第一步:我们在src/main/java文件夹下建立Controller包,新建HelloWorld类

@RestController
public class HelloWorld {@RequestMapping("/hello")public String hello(){return "Hello World!";}
}

第二步:点击DemoApplication文件运行

第三步:在浏览器中直接访问

4cf78b6978495733e01dd9218ee503bc.png

就是这么简单。当我们创建一个web项目之后,写一下controller的短短几行代码,就能直接访问,没有了ssm框架那种繁琐的配置过程了,现在你应该能体验到springboot的快捷性了吧。不过学习知识就是要深入进去。现在我们来分析一下springboot项目的流程。

2、分析小例子

(1)项目入口DemoApplication

首先我们先从项目的入口类DemoApplication说起,它是整个项目的入口,相当于main函数。

@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

在这个类中我们可以看到最上面有一个@SpringBootApplication注解,它就相当于是一个入口的标志。应用程序启动之后看到这个注解就知道这是一个SpringBoot项目

(2)pom.xml文件

如果你是新手,你暂且可以这样理解(其实不是),项目启动demoApplication入口之后,就检查是否包含了必要的依赖。我们给出最核心的一段:

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest

也就是说我们在pom文件中的dependencies结构下,添加我们所需要的依赖就可以了。

(3)application.properties文件

在上面添加完依赖之后,我们可以在这个文件添加一些配置,比如说我们的8080端口被占用,那么我们修改项目的端口是8888,或者是项目的根目录我们更改成test。

server.port=8888
server.servlet.context-path=/test

我们再去去访问上面的controller的时候就会发生变化了

a6f8400625505f7db03fd17f5184014a.png

(4)controller、service等文件

对于我们具体的业务逻辑,我们只需要在相应的文件编码就可以和SSM框架一样。

OK,这就是SpringBoot,用起来超级简单。对于SpringBoot和其他框架的整合文章也将陆续推出,如有问题还请批评指正。

欢迎关注微信公众号:java的架构师技术栈,回复关键字可获取各种视频资源和学习路线。感谢关注。
952db931c7aa3f576b9f8ce9b672110e.png



推荐阅读
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 程序连接MySQL数据库的多种方法详解 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • 解决VS2019登录界面卡顿问题,深入探讨TwinCAT HMI——先进的Web基础人机交互界面解决方案
    本文深入探讨了如何解决VS2019登录界面卡顿的问题,并详细介绍了TwinCAT HMI这一先进的Web基础人机交互界面解决方案。相较于传统HMI,TwinCAT HMI在灵活性、可扩展性和用户体验方面具有显著优势,但也存在一些局限性。读者可根据自身需求和应用场景进行综合评估。 ... [详细]
  • 开发笔记:校园商铺系统中店铺注册功能模块的Controller层优化与重构
    开发笔记:校园商铺系统中店铺注册功能模块的Controller层优化与重构 ... [详细]
  • 将 Eclipse 中的 Java Web 项目迁移至 IntelliJ IDEA 并配置 Tomcat 环境
    为了适应更高效的工作流程,本文详细介绍了如何将基于Eclipse构建的Java Web项目迁移到IntelliJ IDEA,并在新环境中配置Tomcat服务器,以确保项目的顺利运行。此过程不仅涉及项目文件的转移,还包括解决可能遇到的兼容性问题和环境配置挑战。通过本文的指导,开发者可以轻松实现从Eclipse到IntelliJ IDEA的过渡,提升开发效率。 ... [详细]
  • 在Hibernate开发过程中,经常会遇到`java.lang.IllegalArgumentException: org.hibernate.QueryException`这一异常。该问题通常由查询语句中的语法错误或不兼容的参数类型引起。本文将深入分析该异常的成因,并提供多种有效的解决策略,包括检查HQL语句的正确性、确保实体类属性与数据库字段的一致性,以及合理配置Hibernate的查询参数。通过这些方法,开发者可以快速定位并解决相关问题,提高系统的稳定性和可靠性。 ... [详细]
  • MVVM架构~mvc,mvp,mvvm大话开篇
    返回目录百度百科的定义:MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:ControllerPresenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模 ... [详细]
  • 深入解析 Spring MVC 的核心原理与应用实践
    本文将详细探讨Spring MVC的核心原理及其实际应用,首先从配置web.xml文件入手,解析其在初始化过程中的关键作用,接着深入分析请求处理流程,包括控制器、视图解析器等组件的工作机制,并结合具体案例,展示如何高效利用Spring MVC进行开发,为读者提供全面的技术指导。 ... [详细]
  • Apache Maven 3.5.0 版本的发布带来了多项重要特性和性能优化。该版本不仅改进了构建过程的效率,还增强了对复杂项目结构的支持。通过引入新的依赖解析机制和优化的插件系统,Maven 3.5.0 在提升用户体验的同时,也确保了更高的稳定性和兼容性。此外,该版本还修复了多个已知问题,进一步提升了整体的可靠性和安全性。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • 深入解析 AngularJS 表达式的应用与优化技巧
    本文深入探讨了AngularJS表达式的应用及其优化策略。在AngularJS中,表达式主要通过$digest循环进行自动解析,但在某些场景下,手动解析表达式也是必要的。文章详细介绍了如何利用$parse服务实现手动解析,并提供了多种优化技巧,以提高应用性能和响应速度。 ... [详细]
  • 本研究聚焦于利用Java、PHP和Python开发的汽车销售管理系统,旨在为计算机科学专业学生的毕业设计提供参考。项目采用BS架构,结合多种编程语言的优势,实现高效的数据管理和用户交互。该系统不仅涵盖了汽车销售的核心功能,还通过集成先进的技术栈,提升了系统的稳定性和扩展性。 ... [详细]
author-avatar
总铺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有