Spring Boot其实就是spring,为了简便spring框架的搭建,快速开发项目而推出的另一种方式。使用spring boot,搭建框架将变得特别快。可以有更多的时间在代码性能上优化了。

一、Spring Boot个人感觉的优点:

​ 1)搭建一个简单运行的框架很快,仅仅就是几个依赖就可以了。

​ 2) 很多的配置,可以不用写XML配置文件,只需要写在一个统一的配置文件里(默认是application.properties/application.yml)或者使用java类的形式写配置类。

​ 3)简化了很多啰嗦的配置,提高项目搭建效率。比如数据库的dataSource、sqlSessionFactory等等。

二、 Spring Boot个人感觉的缺点:

​ 1) 配置不全面,很多以前在XML里的详细配置,到了spring boot里就很难设置的那么详细,当然肯定也有方法设置,比如额外的XML配置可以引入启动。

​ 2) 设置简洁,但是前提也要知道如何设置,很多功能的设置还要从网上一点点的搜出来,不过谁都有第一次,知道如何设置了,下一次搭建起来就感觉很清爽了。

​ 3)默认设置太多,到现在领导让我查下spring boot的内嵌tomcat版本是多少,线程数和连接数,以及内存,这些必要的东西都是多少,应该如何设置。

​ 4)必须依靠Maven那种根据依赖引入jar包的项目管理工具,这我也不知道是缺点还是优点,感觉没有像maven这种工具,它完全发挥不出作用了。

三、Spring boot简单实例----创建可以访问页面的小项目

1、首先创建一个Maven project,在pom.xml里导入如下依赖

   <!-- Spring Boot 启动父依赖 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.1.RELEASE</version></parent>
    <!-- Spring Boot Web 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

​ 注意:我们都知道每个项目里都只有一个parent标签,如果你的项目是父子项目(创建方法请看:http://blog.csdn.net/wohaqiyi/article/details/71757480),那这里的parent标签内容就要粘到你的父项目里的pom.xml里即可,如果还有爷爷项目,那就再到爷爷项目里粘上就可以了,哈哈。如果你将以上两个依赖引入后,更新下项目,不出意外,在Maven的jar包里就会有以下内容:

还有下边这张图:

2.通过上边的两张图可以看出来,基本的一个spring 项目所需要的jar包都全了。接着往下说。

Spring Boot项目默认是jar包形式,但是我试了建成war包,也没影响,war包即是可以到tomcat里运行的,但是通过上边的图可以看到spring boot默认有内嵌的tomcat容器,也就是说spring boot运行并不依赖tomcat容器,它的运行是通过一个main方法运行项目的。

首先,它的运行类,应该处在包结构的最上方,如下边这个:

3. 为什么会有这样的要求呢?

​ 传统的spring 项目的bean的初始化都是需要配置扫描位置,即创建各种bean标签等等,这样在容器启动后才能实例这些bean,而spring boot没有那些配置文件,它的扫描,就是从启动类的位置开始,向下级包扫描,将所需的bean纳入它的容器里。

请注意:spring boot可以和很多东西结合,它本身就是个spring 项目,只是方法不同了而已,如果大家在以后运行spring boot项目出现某个bean不存在,或者找不到某个类的情况,请试试把那个类的位置往低级包里放下,可能容器在调用该类的时候,spring boot还没有扫描到这个类,所以出现该类不存在的情况,当然这只是可能的原因。(尤其spring boot与dubbo结合的时候,基本都是这个原因)

4.创建启动类

在项目的靠上位置写一个启动类,如下:

package test.spring;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication //spring boot启动必须引入的注解
public class SpringBootTest {public static void main(String[] args) {SpringApplication.run(SpringBootTest.class, args);}
}

关于@SpringBootApplication注解的解释请自己百度下吧。

5.创建Controller

package test.spring.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {@RequestMapping(value="abc/akf",method=RequestMethod.GET)public String abc(String name){return "姓名:"+name;}
}

​ Spring Boot里的Controller注解是@RestController,而且它的返回json格式不需要加@ResponseBody注解,默认就是json格式,但是有一点如果你返回的是jsp或者静态页面等等,你还是需要用@Controller注解

6.配置文件

​ Spring Boot配置文件默认就一个,就是application.properties或者application.yml,这是两种书写格式,它的放置位置在src/main/resource下。如下图所示:

以上配置的内容即配置了端口号和项目名称,如果不配置项目名称,默认是/,也就是localhost:8081,如果配置上项目名称,就变成了localhost:8081/springboot

7.启动项目

运行启动类的main方法即可,查看控制台如下:

补充一下上图:可以看到日志打印有一定的规则,其实spring boot默认是用的logback日志打印,但是刚才并没有配置日志的相关信息,这个日志打印来自于哪里呢?

我的Spring Boot是来自于引入的spring-boot-1.5.1.RELEASE.jar,在该jar包里有如下位置:

也就是说它的打印规则其实就是按照这几个文件配置的进行打印。如果想自行配置日志,会在下一篇文章中说spring boot配置logback日志。

8、页面访问

启动完项目之后,访问如下路径,即可获取到返回值。

到此,一个简单的spring boot项目搭建完成。下一篇会说Spring Boot+logback日志的配置。

spring boot----简单入门相关推荐

  1. SpringBoot + Spring Security 简单入门

    这篇文章主要介绍了SpringBoot + Spring Security 简单入门 Spring Security 基本介绍 这里就不对Spring Security进行过多的介绍了,具体的可以参考 ...

  2. Spring Boot 高效入门实战

    凭借开箱即用,远离繁琐的配置等特性,Spring Boot 已经成为 Java 开发者人人必学必会的开源项目.那么开发者该如何快速上手Spring Boot 呢? 进入Spring Boot世界 Ja ...

  3. spring boot 快速入门

    文章来源:https://www.cnblogs.com/junyang/p/8151802.html spring boot入门 -- 介绍和第一个例子 "越来越多的企业选择使用sprin ...

  4. 【720开发】 spring boot 快速入门

    spring boot 快速入门 通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单.易用特性. 环境要求 Spring Boot 2.0.0.BUILD-SNAPSHO ...

  5. 视频教程-Spring Boot实战入门视频课程-Java

    Spring Boot实战入门视频课程 国内上市大型医疗软件公司产品研发部总经理,技术培训总监.6年以上大型项目一线开发.架构.管理经验,曾主导医疗大数据+移动BI产品设计与研发.技术狂热爱好者,擅长 ...

  6. 芋道 Spring Boot 快速入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  7. 芋道 Spring Boot JPA 入门(一)之快速入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  8. Spring Boot从入门到精通(超详细)

    Spring Boot从入门到精通(超详细) _kayden_ 2020-07-20 15:19:22 9491 正在上传-重新上传取消​ 收藏 184 分类专栏: springboot 文章标签:  ...

  9. spring boot(一)入门

    目录 spring boot(一)入门 一.简介 1.微服务的概念 2.什么是spring boot 3.快速入门 4.springboot的快捷部署 spring boot(一)入门 一.简介 1. ...

  10. Spring Boot Mybatis入门示例

    Spring Boot Mybatis 入门示例 基于Spring Boot 2.3.4,Junit5 步骤说明     整个工程的最终目录结构如下,添加文件或者新建的目录的参考: └─src├─ma ...

最新文章

  1. window 10系统更改默认下载的位置
  2. STM32处理器存储空间布局解析
  3. 【智驾深谈】自动驾驶潜在突破点:传感器与车载集成系统(万字干货)
  4. pandas 判断数据表中的缺失值
  5. crtmpserver流媒体服务器的介绍与搭建
  6. UI组件之AdapterView及其子类(三)Spinner控件详解
  7. Python高级特性(一)
  8. 通用的异步处理类和进度通知类及其示例
  9. LFS,编译自己的Linux系统 - 前言
  10. 人脸解锁除了要穿衣服,还有什么秘密?
  11. Springboot中常用的文件上传和下载通用接口
  12. mysql 压测结果_用mysqlslap压测mysql
  13. 二维码----百度百科
  14. 如何批量打印图片文件
  15. 根据经纬度求距离(算法)
  16. SequoiaDB 巨杉数据库产品下载
  17. 复习笔记1-java基础
  18. 【笔试题】网易2018秋招内推笔试
  19. 苹果手机浏览器safari不显示手机号问题
  20. 关于计算几何一些算法

热门文章

  1. c++ 复制构造函数_C++学习刷题8--复制构造函数和赋值运算符重载函数
  2. wrf 嵌套网格作用_在网格系统中使用响应列,嵌套列和偏移列 引导程序
  3. mysql 中有行号吗_重置SQLite3 / MySQL中的行号计数
  4. 按一个按钮会随机死人_《饥荒》那些年坑爹的随机地图,最后一个简直笑死人...
  5. python图形界面库哪个好_8个必备的Python GUI库
  6. mnist手写数字数据集_mnist手写数据集(1. 加载与可视化)
  7. diskgenius 数据迁移_活见鬼,明明删除了数据,空间却没减少! - *IT界农民工*
  8. 【送给读者】全新苹果 AirPods,包邮送一套!
  9. 4种分布式Session的实现方式!老大直呼666...
  10. 一文带你看完ZooKeeper!