您的位置:首页 > 编程语言 > Java开发

springBoot快速入门

2018-09-11 21:15 513 查看


一:什么是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到底有多爽,用下面这张图来表达

 

四:开发环境

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

 

 

2:勾选web起步依赖

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

1

2

3

4

<
dependency
>

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

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

</
dependency
>

 

六:工程结构说明

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

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

 

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

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包名要遵循一个工程规范

 

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

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: