最近一段时间一直在学习Spring Boot,刚进的一家公司也正好有用到这个技术。虽然一直在学习,但是还没有好好的总结,今天周末先简单总结一下基础知识,等有时间再慢慢学习总结吧。

Spring Boot 概述

首先,Spring Boot是一个框架,主要理念就是消除项目中大量的配置文件,使项目更加短小精悍。我们知道 java 的开发显得很笨重:繁多的配置、开发效率低下、复杂的布署流程以及第三方技术集成难度大。所以说,spring boot就是在此环境下产生的。

Spring Boot 的核心功能

  1. 独立运行的Spring 项目

    Spring Boot 可以以jar包的形式独立运行,运行一个Spring Boot 项目只需要通过 java -jar xx.jar 来运行。
  2. 内嵌Servlet 容器

    Spring Boot 可以选择内嵌Tomcat、Jetty或Undertow,这样我们无须以war包形式部署项目。
  3. 提供starter简化Maven 配置

    Spring 提供了一系列的starter pom 来简化Maven 的依赖加载。
  4. 自动配置Spring

    Spring Boot 会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。Spring Boot只考虑了大多数的场景,并不是所有的场景。
  5. 准生产的应用监控

    Spring Boot 提供基于http、ssh、telnet对运行时的项目进行监控。
  6. 无代码生成和xml配置

    Spring Boot不是借助代码生成来实现的,而是通过条件注解来实现的,这是spring 4.x的新特性。Spring 4.x提倡使用Java配置和注解配置组合,而Spring Boot不需要任何xml配置即可实现Spring 的所有配置。

Spring Boot 的优缺点

优点:

1. 快速构建项目;

2. 对主流开发框架的无配置集成;

3. 项目可以独立运行,无须外部依赖Servlet容器;

4. 提供运行时的应用监控;

5. 极大地提高了开发、部署效率;

6. 与云计算的天然集成。

缺点:

1. 书籍文档较少且不够深入;

2. 如果你不认同Spring 框架。

快速搭建Spring Boot项目

书中介绍了几种搭建Spring Boot项目的方式,我用的是idea,所以就只总结在idea下的搭建方式。

1. 新建Spring Initializr 项目,如图:

2. 填写项目信息,如图:

3. 选择项目使用的技术,如图:

4. 填写项目名称:如图:

5. 项目架构及依赖,如图:

6. 添加测试控制器。直接在入口类中编写。

package com.springboot.first;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@SpringBootApplication
public class FirstApplication { @RequestMapping("/")
String index() {
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(FirstApplication.class, args);
}
}

@SpringBootApplication是Spring Boot 项目的核心注解,主要目的是开启自动配置。main方法是一个标准的Java应用的main方法,主要作用是作为项目启动的入口。

7. 运行项目,把它当成一个java类运行就可以了,右键菜单中选择,如图:

运行信息:

8. 运行结果,如图:

小结

以上是对Spring Boot 做一个基本的了解。从最后的一个例子来看,明显的可以感觉到开发一个Controller是多么容易,比SSM框架要快的多,因为你要搭建SSM框架都需要好长的时间,而Spring Boot只需要创建一个项目就可以了。很简单!

最新文章

  1. EncodingHelper
  2. Web String path问题
  3. 基于android平台的出题软件---- 每日30题
  4. 三分 --- POJ 3301 Texas Trip
  5. SQL SERVER安装提示“安装了 Microsoft Visual Studio 2008 的早期版本
  6. 关于egg的压缩测试报告
  7. 线形,柱形,条形数据表(百度Echart插件)
  8. PHP程序员的技术成长规划(送给迷茫的你)
  9. python中read、readline和readlines的区别
  10. JavaScript高级程序设计:第八章
  11. python 模块加载错误总结
  12. JAVANIO通道
  13. [正则表达式]PCRE反向分组引用(语法)
  14. Java堆、栈和常量池以及相关String详解
  15. for 没有作用域的说话
  16. ArcGIS Server Rest 认证过程分析
  17. Alpha冲刺! Day6 - 砍柴
  18. passwd 修改密码
  19. win7 下安装使用 nginx 出现500错误
  20. ThinkPHP 3.2 调用自定义函数库

热门文章

  1. python---正则中的(?P<name>group)
  2. WebLogic Server添加删除补丁操作【转】【补】
  3. Linux命令(九)查找文件find
  4. (五)bootloader 启动 ucore os
  5. 动态生成js数据Response.Expires=1440竟然无效?
  6. 12. SpringBoot国际化
  7. sock_ntop.c
  8. u-boot移植(三)---修改前工作:代码流程分析2
  9. 实现一个string类
  10. FPN-Feature Pyramid Networks for Object Detection