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的搭建

  1. 问题描述
    springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot。

  2. 解决方案
    强烈推荐大家使用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和一些默认约定,实现项目的快速搭建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值