springBoot快速入门


一:什么是springboot?

springboot快速开发解决方案,springboot不是一个框架技术。比如maven不是jar包,maven是为了更好管理jar包,同理springboot不是技术框架,springboot是为了让我们更好更快更方便地整合框架。

官网:https://projects.spring.io/spring-boot/ 

 

二:springboot2.0里程碑

新特性:

 

  1. 支持最新的Java 9,要求最低1.8

  2. 基于Spring 5构建,Spring的新特性均可以在Spring Boot 2.0中使用

  3. 为各种组件的响应式编程提供了自动化配置,如:Reactive Spring Data、Reactive Spring Security等

  4. 支持Spring MVC的非阻塞式替代方案WebFlux以及嵌入式Netty Server

  5. Spring Boot 2.0的发布,Spring Cloud Finchley还会远吗?

升级?

如果Spring Boot升级2.0,2.0出了那么多新功能,我们的业务代码是否也需要随之修改,风险会不会很大?其实,这个问题大家完全不用太多的顾虑,Spring Boot 2.0虽然新增了很多强大的新特性,但是对于原有功能的支持并没有抛弃

 

三:为什么使用springboot

  • 简化依赖管理(起步依赖):在Spring Boot中提供了一系列的Starter POMs,将各种功能性模块进行了划分与封装,让我们可以更容易的引入和使用,有效的避免了用户在构建传统Spring应用时维护大量依赖关系而引发的JAR冲突等问题。

  • 自动化配置:Spring Boot为每一个Starter都提供了自动化的Java配置类,用来替代我们传统Spring应用在XML中繁琐且并不太变化的Bean配置;同时借助一系列的条件注解修饰,使得我们也能轻松的替换这些自动化配置的Bean来进行扩展。

  • 嵌入式容器:除了代码组织上的优化之外,Spring Boot中支持的嵌入式容器也是一个极大的亮点(此处仿佛又听到了Josh Long的那句:“Deploy as a Jar, not a War”),借助这个特性使得Spring Boot应用的打包运行变得非常的轻量级。

  • 生产级的监控端点: spring-boot-starter-actuator的推出可以说是Spring Boot在Spring基础上的另一个重要创新,为Spring应用的工程化变得更加完美。该模块并不能帮助我们实现任何业务功能,但是却在架构运维层面给予我们更多的支持,通过该模块暴露的HTTP接口,我们可以轻松的了解和控制Spring Boot应用的运行情况。

  • swagger管理所有的接口信息,其实就是一个线上的api开发文档

 

小结:springboot两个核心思想起步依赖和自动配置,使用springboot到底有多爽,用下面这张图来表达

a.jpg

 

四:开发环境

Eclipse:推荐使用sts,sts提供了springboot开发插件

Maven:配置settings.xml指定阿里镜像仓库

1

2

3

4

5

6

<mirror>

      <id>alimaven</id>

      <name>aliyun maven</name>

      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

      <mirrorOf>central</mirrorOf>        

</mirror>

JDK:推荐1.8,springboot2.0版本要求必须是1.8,springboot2.0以下版本最好1.7以上

 

资料下载:https://pan.baidu.com/s/1qZdKLsS

 

 

五:新建springboot工程

1:鼠标右键新建工程:选择spring starter project

 

a.png

 

2:勾选web起步依赖

b.png

勾选web起步依赖会在pom里面自动依赖:

1

2

3

4

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

</dependency>

 

六:工程结构说明

springboot构成也是通过maven管理的,所以是一个典型的maven工程

2018-03-02_124524.png

工程结构很清晰,分工很明确。

 

介绍第一个起步依赖spring-boot-starter-web,这个依赖包含了要实现web功能所有的jar包

d.png

spring-boot-starter-web:

l  spring-boot-starter:spring核心jar,自动配置支持jar、日志和YAML支持jar

l  spring-boot-starter-tomcat:内置tomcat

l  hibernate-validate:hibernate:数据校验

l  Jackson-databind:Jackson

l  Spring-web:spring核心包

l  Spring-webmvc springmvc包

 

七:编写并运行HelloWorld服务接口

 

1

2

3

4

5

6

7

@RestController

public class HelloController {

    @RequestMapping("/hello")

    public String index() {

        return "Hello World";

    }

}

但是有时候你这么实现就会出问题,因为spingboot包名要遵循一个工程规范

2018-03-02_130017.png

 

以引导类所处在的包为根包,在这个包基础上创建controller、service、dao、pojo等其他子包,这就是工程规范,如果你遵循了工程规范,控制器层会被自动扫描,如果没遵循,自己手动扫描。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值