springboot项目搭建
一 Springboot 基本概念
1.1 什么是 springboot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器),准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置.
1.2 为什么要用springboot
以前在写spring项目的时候,要配置各种xml文件。随着spring4,spring5的相继推出,约定大于配置逐渐成为了开发者的共识,大家也渐渐的从写xml转为写各种注解,在spring4的项目里,你甚至可以一行xml都不写。虽然spring4已经可以做到无xml,但写一个大项目需要茫茫多的包,maven配置要写几百行,也是一件很可怕的事。`现在,快速开发一个网站的平台层出不穷,nodejs,php等虎视眈眈,并且脚本语言渐渐流行了起来(Node JS,Ruby,Groovy,Scala等),spring的开发模式越来越显得笨重。在这种环境下,spring boot伴随着spring4一起出现了。springboot 的使用很简单,我们只需要将原先我们的 xml 配置中的内容通过 java 方式配置过去即可,大部分配置已经被 springboot 自己装配,我们只需要将需要我们自己写的配置单独写出来即可`spring大家都知道,boot是启动的意思。所以,spring boot其实就是一个启动spring项目的一个工具而已。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。
1.3 Springboot优缺点
优点:
1.创建独立的Spring应用程序
SpringBoot可以jar包的形式进行独立的运行,使用:java -jar xx.jar就可以成功运行项目,或者在项目的主程序中运行main函数
2.嵌入的Tomcat,Jetty或者Undertow,可以不用部署WAR文件
Spring 项目部署时需要我们在服务器上部署 tomcat,然后把项目打成 war 包扔到 tomcat里
springboot项目不需要单独下载Tomcat等传统服务器,内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行,另外,也降低对运行环境的基本要求,环境变量中有JDK即可。
3.允许通过maven来根据需要获取starter
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,通过这些starter项目就能以Java Application的形式运行Spring Boot项目,而无需其他服务器配置。对于复杂的项目之前需要在pom文件导入大量的jar包,现在通过starter导入,pom文件会干净很多。
starter pom:https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
4.尽可能自动配置Spring
在SpringBoot之前,使用Spring可以说,并不是那么的方便,其实也主要是在搭建一个基于Spring Framework的项目时这个困扰。Spring本身的配置,整合SpringMVC,整合Struts2,整合mybatis等等,如果是Web应用还有个web.xml需要配置。什么都要你去配置一下,第一步就是去找怎么配置,记住这么配置是如何配的,其实并没有切实的意义,毕竟又不是经常需要去搭建一个项目。正因为不常这么配置,不值得记住如何配置,导致每次实际用到时,很麻烦,到处去找如何配置的XML配置文件。
SpringBoot的出现,正是为了解决这个问题,让你可以不去做任何配置的情况下,运行一个Spring应用,或者Web应用。不用配置web.xml,spring.xml,srpingmvc.xml,springboot帮你配置了。不用配置tomcat,springboot内嵌了tomcat。
5.提供生产就绪型功能,如指标、健康检查和外部配置
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;我们可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot 只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要 Spring Cloud 来配合一起使用。
6.绝对没有代码生成,对XML没有要求配置
缺点:
1.版本迭代速度很快,一些模块改动很大
2.由于不用自己做配置,报错时很难定位
3.网上现成的解决方案比较少。
二 如何创建Springboot项目
在ideal中创建SpringBoot项目的方式可以有3种:
- 1.通过idea的Spring Initializr来创建(需联网);
- 2.通过Spring官网提供的模板来创建Spring boot项目,模板地址:https://start.spring.io/.(需联网)
- 3.手动创建一个Maven工程,然后引入SpringBoot所需的dependency来完成 (不需要联网);
2.1 方式一:通过idea的Spring Initializr方式创建
1.环境准备
安装jdk和idea,tomcat可不安装,有内置的tomcat
2. 按下图步骤创建
3. 创建的项目结构如下:
4.添加代码测试web页面效果
创建完会发现
不用设置web.xml
不用配置spring.xml
不用配置springmvc.xml
不用导入spring相关包
因为springboot已经帮你做了!
2.2 方式二:通过Spring官网提供的模板来创建Spring boot项目。
1. 从官网下载模板
模板地址:https://start.spring.io/.
将下载的项目解压出来。
2.导入到idea中
3.项目结构如下
比起选择war包方式,pom文件中少了web的依赖。
4.添加web依赖
在pom文件中添加
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
5.添加代码测试
2.3 方式三:手动创建一个Maven工程,然后引入SpringBoot所需的dependency来完成
1.配置Maven环境。
在以maven方式创建Spring Boot项目之前,请先确保自己的Maven并配置好环境变量,并且在ideal中关联好maven环境。
2.创建一个新的maven项目
3.创建出来的目录结构如下
这只是一个普通的maven项目,还不是springboot项目
4 继承springboot父项目
在pom.xml文件中添加
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.0</version><relativePath/>
</parent>
继承父类的作用
当添加了spring-boot-starter-parent依赖之后,这个项目就是springboot项目了,项目中就可以直接继承父依赖中合理的默认值。
比如继承父项目可以提供以下功能:
a.设置Java 1.8作为默认的编译器;
b.UTF-8编码;
c.允许省略常见依赖的版本标签。
d.识别资源过滤
例如,打包的时候把 src/main/resources 下所有文件都打包到包中。
<resource><directory>src/main/resources</directory><includes><include>**/*.*</include></includes><filtering>true</filtering>
</resource>
e.识别插件的配置
比如 exec plugin, surefire, Git commit ID, shade
能够识别 application.properties 和 application.yml 类型的文件,同时也能支持 profile-specific 类型的文件(如: application-foo.properties and application-foo.yml,这个功能可以更好的配置不同生产环境下的配置文件)。
5.添加Spring Boot Maven插件
pom.xml文件中添加
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>
6.添加spring和web模块的依赖
添加web模块 才能运行web类型
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>
7.创建入口类
8.添加代码测试
springboot项目搭建相关推荐
- Springboot项目搭建(前端到数据库,超详细,附详细步骤截图)
下面详细谈谈我的第一个springboot项目搭建,希望会给还在摸索的同学一点帮助. 有兴趣的同学请加qq:1718283122 备注csdn ---------------------------- ...
- springboot项目搭建0000-导航篇
前言:这篇帖子没有任何涉及技术的内容,如果你想找springboot相关的技术知识,可以不用往下看了. 这篇帖子仅仅是对我的springboot相关博客,开辟一个导航页,方便读者.技术大牛略过 主要参 ...
- SpringBoot——项目搭建、整合Mybatis、整合redis(集群)
一.项目搭建 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...
- 物联网云平台设计与开发:springboot项目搭建与开发(后端)
目录 实验目的 实验内容 具体实验步骤 第一步:构建springboot项目 第二步:项目集成spring-web.Mysql驱动.Mybatis等框架. 第三步:安装Mysql软件,使用Navica ...
- 超简单的Springboot 项目搭建
要求:搭建一个springboot项目并输出helloworld: 开发环境:Idea2019 框架:Springboot 工具:Maven 新建springboot项目 这里选择的项目是spring ...
- Springboot项目搭建有ftpClientPool的Ftp工具类
1 前言 最近项目中用到了FTP,于是自己写了一个FTP工具类,现将其分享出来,供大家借鉴使用. FTP工具类的实现可以分为两部分: 基于apache commons-pool2的ObjectPool ...
- Springboot项目搭建(三)整合thymeleaf模板
springboot整合thymeleaf模板 一.POM文件添加依赖 <!--thymeleaf--> <dependency><groupId>org.spri ...
- SpringBoot项目搭建 day1
一: 功能简介 谷粒学院,是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台. 二: 系统模块Analysis 三: 系统架构Analysis 构架设计需要考虑的几个方面 性能 : ...
- springboot项目搭建0051-通用mapper使用mapper.xml
项目地址:https://github.com/wenrongyao/springboot-demo.git 摘要:mybatis是优秀的持久化框架,但是引入mybatis后还要频繁的写增删改查,很不 ...
最新文章
- ASP.NET获取IP的6种方法
- Android环境结构--安装Eclipse错
- VMware卸载虚拟机
- TJU Problem 1065 Factorial
- 2020 蚂蚁面试指南!
- c语言的程序框图怎么写,C语言课程设计————写下流程图! 谢谢
- 从零点五开始用Unity做半个2D战棋小游戏(十一)
- 如何把SAP Kyma和SAP Cloud for Customer连接起来
- Linux下的TCP/IP编程----IO复用及IO复用服务端
- [转载] [Python基础语法]关键字、标识符和变量
- 全国计算机等级考试报名入口黑龙江,黑龙江2021年3月计算机等级考试报名入口...
- MTK驱动代码流程介绍:
- 正弦余弦算法的樽海鞘群算法
- beyond compare 对class文件反编译及比较
- mimetype知识点备忘
- Java宠物商店源代码
- 微信公众号接入和获取用户信息
- 这次的新计算,很全能!
- 中华数据库与运维安全大会全程解析
- XCODe运行yueyu设置