环境: IDEA 2018.1.3 , jdk 1.8 , maven 3.3.9

第一次接触springboot, 如何学习比较困惑, 思前想后最后决定从文档来学习, 以下为学习中的参考资料:

  1. 官方手册: Spring Boot Reference Guide

    脉络比较清晰, 给了学习的方向, 如下图:







  2. 官方指南: Guide

    提供了很多demo, 并且有源码, 有步骤

  3. 第三方博客教程, 选择了两位大佬博客教程:

  1. 记录方式: 码云(代码+笔记) + 博客园(简要笔记)

一、New Project

  • SpringBoot2.1.1系统要求: Java8+, maven 3.3+,spring5.13+
  • SpringBoot模块简要: 13.5 Starters

打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步就行了;

然后等待maven下载spring boot需要的jar包即可

运行SpringbootFirstApplication的main方法即可启动项目

0. Building an Application with Spring Boot

  • jdk1.8+
  • maven 3.2+

然后根据手册编写HelloController.java

Create a simple web application

https://spring.io/guides/gs/spring-boot/

1. Serving Web Content with Spring MVC

2. Building a RESTful Web Service

二、Import Project

可参考官方手册: https://spring.io/guides/gs/intellij-idea/

三、配置类

@Configuration
@Import 导入额外的配置类
@ComponentScan 扫描所有Spring组件
@ImportResource 加载xml配置文件

四、自动装配

  1. @SpringBootApplication简化注解
  2. 禁用指定类
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) // 禁用指定的配置类
public class MyConfiguration {
}

五、 Spring Beans和依赖注入

@ComponentScan 自动扫描bean
@Autowired 做构造函数注入
如果bean有一个构造函数,则可以省略@Autowired

六、关于@SpringBootApplication

七、运行

八、开发者工具

  1. 完全打包程序时会被禁用
  2. 相关配置
  3. 远程应用 (20.5 Remote Applications)

idea中使用热部署

修改配置和引入jar包后注意重新启动项目

1.pom.xml

devtools插件

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

maven依赖

    <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 注意: 不配置这里, 热部署可能不会生效 -->
<configuration>
<fork>true</fork>
</configuration> </plugin>
</plugins>
</build>

2.修改设置

3.registry设置

SpringBoot(一)初遇的更多相关文章

  1. 初遇SpringBoot踩坑与加载静态文件遇到的坑

                              SpringBoot开发 创建SpringBoot项目 大家都知道SpringBoot开发非常快,创建SpringBoot项目时,勾上SpringW ...

  2. 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用

    问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...

  3. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  4. Springboot搭建web项目

    最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了.关于springboot相关的介绍我就不赘述了,大家自行百度google. 一.pom配置 首先,建立一个maven项目,修 ...

  5. Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)

    这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...

  6. 解决 SpringBoot 没有主清单属性

    问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframewor ...

  7. SpringBoot中yaml配置对象

    转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...

  8. springboot 学习资源推荐

    springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...

  9. Springboot框架

    本片文章主要分享一下,Springboot框架为什么那么受欢迎以及如何搭建一个Springboot框架. 我们先了解一下Springboot是个什么东西,它是干什么用的.我是刚开始接触,查了很多资料, ...

随机推荐

  1. 688. Knight Probability in Chessboard

    On an NxN chessboard, a knight starts at the r-th row and c-th column and attempts to make exactly K ...

  2. 主机安全扫描工具-- vuls

    https://vuls.io/ 一. 安装 系统管理员有责任定期去检查系统的弱点和更新软件, vuls 可以提供如下功能: 通知管理员机器有安全隐患 支持本地和远程扫描(需要有 ssh 权限) 可以 ...

  3. git修改文件权限方式

    查看Repository中文件权限 git ls-tree HEAD 100644 blob 018321abfbff52d175a788597f5b5f3f17f67dc7 .gitignore 1 ...

  4. Dockerfile指令详解下

    VOLUME 定义匿名卷 VOLUME指令的格式为: VOLUME [,...] VOLUME 之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库 ...

  5. 【wireshark】插件开发(二):Lua插件开发介绍

    1. Wireshark对Lua的支持 本节相关内容可参考Wireshark开发指南第10章”Lua Support in Wireshark”. Wireshark集成了Lua解释器,以支持Lua脚 ...

  6. ffmpeg + nginx 搭建流媒体

    //安装nginx rtmp 流媒体服务 1.安装nginx+rtmp模块  brew install nginx-full --with-rtmp-module 2.修改配置文件 /usr/loca ...

  7. iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象

    1.前言 上一篇已经介绍了App Delegate.View Controller的基本概念,除此之外,分别利用storyboard和纯代码创建了第一个Xcode的工程,并对不同方式搭建项目进行了比较 ...

  8. (原创)JAVA阻塞队列LinkedBlockingQueue 以及非阻塞队列ConcurrentLinkedQueue 的区别

    阻塞队列:线程安全 按 FIFO(先进先出)排序元素.队列的头部 是在队列中时间最长的元素.队列的尾部 是在队列中时间最短的元素.新元素插入到队列的尾部,并且队列检索操作会获得位于队列头部的元素.链接 ...

  9. leetcode-914-卡牌分组

    题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 ...

  10. LruCache源码分析

    LRU(Least Recently Used)是一种很常用的资源调度策略,与20/80原则契合,在资源达到上限时倾向保留最近经常访问的资源对象. Android中基于LRU实现了缓存对象,即LruC ...