springboot搭建和优缺点
Springboot的优点和搭建
Springboot优点总结
1.谈到 Spring Boot,就让我们先来了解它的优点 。 依据官方的文档, Spring Boot 的优点如下:
–创建独立的 Spring 应用程序 ;
–嵌入的 Tomcat 、 Jetty 或者 Undertow,无须部署 WAR 文件:
–允许通过 Maven 来根据需要获取 starter;
–尽可能地自动配置 Spring;
–提供生产就绪型功能,如指标、健康检查和外部配置;
–绝对没有代码生成,对 XML 没有要求配置 。
这段描述告诉我们,首先 Spring Boot 是一个基于 Spring 框架搭建起来的应用,其次它会嵌入Tomcat 、 Jetty 或者 Undertow 等服务器 ,并且不需要传统 的 WAR 文件进行部署 ,也就是说搭建 SpringBoot 项目并不需要单独下载 Tomcat 等传统的服务器:同时提供通过 Maven (或者 Grandle )依赖的starter ,这些 starter 可以直接获取开发所需的相关包 ,通过这些 starter 项目就能以 JavaApplication 的形式运行 Spring Boot 的项目,而无须其他服务器配置:对于配置, Spring Boot 提供 Spring 框架的最大自动化配置,大量使用自动配置,使得开发者对 Spring 的配置尽量减少:此外还提供了 一些监测、自动检测的功能和外部配置,与此同时没有附加代码和 XML 的配置要求 。
约定优于配置,这是 Spring Boot 的主导思想 。 对于 Spring Boot 而言 ,大部分情况下存在默认配置 ,你甚至可 以在没有任何定义的情况下使用 Spring 框架,如果需要自定义也只需要在配置文件配置一些属性便可以,十分便捷 。 而对于部署这些项目必需的功能, Spring Boot 提供 starter 的依赖,4 第才章 Spring Boot 来临
例如, spring-boot-starter-web 捆绑了 Spring MVC 所依赖的包, spring-boot-starter-tomcat 绑定了内嵌的 Tomcat,这样使得开发者能够尽可能快地搭建开发环境,快速进行开发和部署,这就是 Spring Boot的特色 。
2.Springboot的搭建
问题描述
springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot。解决方案
强烈推荐大家使用Idea的付费版(破解感谢下蓝宇),Idea对maven、git等插件支持的更加好。
使用idea自带的spring Initializr(实际调用的是springboot的官网上的initializr),快速新建springboot项目。
2.1 新建Springboot项目
(1)file->new->project
(2)点击next(第一个)
创建springboot项目(因为连接的国外的网站,next有时会几秒的延迟),将两个值改成自己的配置,Group:com.laowang ,Artifact:sptest,其他可以不用动,点击ok
(3)点击next(第二个)
选择web-》spring web starter
(4)点击next(第三个)
不用做修改,直接finish
新建springboot项目已经完成。
2.2 springboot默认生成三个文件
默认生成的三个文件
2.2.1. pom.xml
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
com.laowang
sptest
0.0.1-SNAPSHOT
sptest
Demo project for Spring Boot
<properties><java.version>1.8</java.version>
</properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
重点就一个gav:spring-boot-starter-web,其他可以删除。
2.2.2 application.properties
该文件默认为空,springboot的默认启动端口号:8080,可以在改文件修改。
2.2.3 启动类文件(SptestApplication.java)
package com.laowang.sptest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SptestApplication {
public static void main(String[] args) {SpringApplication.run(SptestApplication.class, args);
}
- 1
- 2
- 3
}
重点是标签:@SpringBootApplication
2.3 验证springboot
在com.laowang.sptest报下新建ctroller包,并新建类:HelloController
package com.laowang.sptest.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String getHello() {return "hello";
}
- 1
- 2
- 3
- 4
- 5
}
服务正常启动。
2.4 重点说明
需要说明两点:
(1)类文件要放在跟启动类同级或者下一目录下,本项目为:com.laowang.sptest包下面。因为springboot默认扫描加载启动类同级或者下级目录的标签类(@RestController,@Service ,@Configuraion,@Component等),假如真需要加载其他目录的标签类,可以通过在启动上配置标签@ComponentScan(具体包)来进行扫描加载。
(2)资源文件默认放到resources下面,templates默认放的是动态文件,比如:html文件,不过要搭配thymeleaf 使用(pom文件中需新加gav)。
其他也没什么了,springboot主要是通过spring提供的多个starter和一些默认约定,实现项目的快速搭建。
springboot搭建和优缺点相关推荐
- SpringBoot 搭建基于 minio 的高性能存储服务
欢迎关注方志朋的博客,回复"666"获面试宝典 什么是minio 引用官网: MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储.它与Amazon S3 ...
- 使用SpringBoot搭建一个简单的webSocket服务
前言 个人地址:使用SpringBoot搭建一个简单的webSocket服务 什么是WebSocket? WebSocket是一个HTML5新增的协议,它的目的在浏览器和服务器之间建立一个不受限的双向 ...
- Dubbo(七)使用SpringBoot搭建dubbo消费者工程
本章将创建一个dubbo 消费者工程并实现远程调用消费者示例.环境:springboot + dubbo + zookeeper, 工程目录如下: 主要步骤: 创建maven工程添加pom依赖 创建S ...
- SpringBoot搭建天气预报微服务系统
SpringBoot搭建天气预报微服务系统 前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来. 从天气预报微服务系统 ...
- SpringBoot搭建微信公众号后台(一):消息接收与响应
关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 上一篇我们经过接口验证,已经可以与微信的服务器进行通信,错过的可以通过下面链接来进行回顾,这一篇就来实现一个基本的消息接收与响应. SpringB ...
- 【微服务】SpringBoot 搭建微服务初体验
SpringBoot 搭建微服务初体验 前言 Server端程序开发 1.创建Server项目,并添加依赖 2.引入依赖,完善配置文件 3.开发SQL语句 4.开发JavaBean 5.开发DAO接口 ...
- 基于springboot搭建的个人博客系统
源码下载地址:blog blog是基于springboot搭建的个人博客,响应式 前端技术:html.css.js.jq.bootstrap 后台技术:springboot.thymeleaf.myb ...
- 基于SpringBoot搭建应用开发框架(一) —— 基础架构
基于SpringBoot搭建应用开发框架(一) -- 基础架构 目录 Spring的简史 零.开发技术简介 一.创建项目 1.创建工程 2.创建Starter 3.启动项目 4.Spring Boot ...
- SpringBoot搭建SSM框架项目,支持JSP页面
以下就是SpringBoot搭建SSM框架项目,集成使用jsp(超详细)的全部内容. 看完如果对你有帮助,感谢点赞支持! 文章目录 1.创建项目,选择Spring Initializr创建一个Spri ...
最新文章
- 基于Python语言Hamcrest断言的使用
- eclipse自定义快捷键
- 【JavaScript DOM 编程艺术】 笔记
- POJ 2823-Sliding Window单调队列解题报告
- 京东数据产品专家分享“如何转行数据产品经理​?”
- f函数java_Java流:对N-1个元素执行f(),对N个元素执行g(),即,最后一个元素使用不同的函数...
- 可以练计算机应用基础的网址,计算机应用基础(第3版)章节练习题答案
- C语言的声明的优先级规则
- [C#]C#补习——控制流语句相关
- gcc g++ 参数
- lstm网络一般训练多少轮_Pytorch的LSTM的理解
- 锐捷客户端linux登录密码忘记,锐捷S3760忘记密码的恢复方法
- Java基于POI动态合并单元格
- 硬盘加密软件测试工资,实测加密软件BitLocker对硬盘性能有何影响
- 只要五分钟,即可将博客搬到公众号并完美布局(原创-独家)!
- 计算机英语念法,电脑的英文读音标准带音标的
- 强大的文件管理利器-恒辉通用文件管理工具
- vue上传图多张图片功能
- Chapter2、HDR流水线
- 【我是一只It小小鸟】有感