SpringBoot(一)初遇
环境: IDEA 2018.1.3 , jdk 1.8 , maven 3.3.9
零
第一次接触springboot, 如何学习比较困惑, 思前想后最后决定从文档来学习, 以下为学习中的参考资料:
官方手册: Spring Boot Reference Guide
脉络比较清晰, 给了学习的方向, 如下图:




官方指南: Guide
提供了很多demo, 并且有源码, 有步骤第三方博客教程, 选择了两位大佬博客教程:
- 记录方式: 码云(代码+笔记) + 博客园(简要笔记)
一、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
- 码云: gs-serving-web-content
- 指南: https://spring.io/guides/gs/serving-web-content/
- Java模板引擎thymeleaf: https://www.thymeleaf.org/
2. Building a RESTful Web Service
二、Import Project
可参考官方手册: https://spring.io/guides/gs/intellij-idea/
三、配置类
@Configuration
@Import 导入额外的配置类
@ComponentScan 扫描所有Spring组件
@ImportResource 加载xml配置文件
四、自动装配
- @SpringBootApplication简化注解
- 禁用指定类
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) // 禁用指定的配置类
public class MyConfiguration {
}
五、 Spring Beans和依赖注入
@ComponentScan 自动扫描bean
@Autowired 做构造函数注入
如果bean有一个构造函数,则可以省略@Autowired
六、关于@SpringBootApplication
七、运行
八、开发者工具
- 完全打包程序时会被禁用
- 相关配置
- 远程应用 (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(一)初遇的更多相关文章
- 初遇SpringBoot踩坑与加载静态文件遇到的坑
SpringBoot开发 创建SpringBoot项目 大家都知道SpringBoot开发非常快,创建SpringBoot项目时,勾上SpringW ...
- 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用
问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- Springboot搭建web项目
最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了.关于springboot相关的介绍我就不赘述了,大家自行百度google. 一.pom配置 首先,建立一个maven项目,修 ...
- Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)
这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...
- 解决 SpringBoot 没有主清单属性
问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframewor ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
- Springboot框架
本片文章主要分享一下,Springboot框架为什么那么受欢迎以及如何搭建一个Springboot框架. 我们先了解一下Springboot是个什么东西,它是干什么用的.我是刚开始接触,查了很多资料, ...
随机推荐
- 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 ...
- 主机安全扫描工具-- vuls
https://vuls.io/ 一. 安装 系统管理员有责任定期去检查系统的弱点和更新软件, vuls 可以提供如下功能: 通知管理员机器有安全隐患 支持本地和远程扫描(需要有 ssh 权限) 可以 ...
- git修改文件权限方式
查看Repository中文件权限 git ls-tree HEAD 100644 blob 018321abfbff52d175a788597f5b5f3f17f67dc7 .gitignore 1 ...
- Dockerfile指令详解下
VOLUME 定义匿名卷 VOLUME指令的格式为: VOLUME [,...] VOLUME 之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库 ...
- 【wireshark】插件开发(二):Lua插件开发介绍
1. Wireshark对Lua的支持 本节相关内容可参考Wireshark开发指南第10章”Lua Support in Wireshark”. Wireshark集成了Lua解释器,以支持Lua脚 ...
- ffmpeg + nginx 搭建流媒体
//安装nginx rtmp 流媒体服务 1.安装nginx+rtmp模块 brew install nginx-full --with-rtmp-module 2.修改配置文件 /usr/loca ...
- iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象
1.前言 上一篇已经介绍了App Delegate.View Controller的基本概念,除此之外,分别利用storyboard和纯代码创建了第一个Xcode的工程,并对不同方式搭建项目进行了比较 ...
- (原创)JAVA阻塞队列LinkedBlockingQueue 以及非阻塞队列ConcurrentLinkedQueue 的区别
阻塞队列:线程安全 按 FIFO(先进先出)排序元素.队列的头部 是在队列中时间最长的元素.队列的尾部 是在队列中时间最短的元素.新元素插入到队列的尾部,并且队列检索操作会获得位于队列头部的元素.链接 ...
- leetcode-914-卡牌分组
题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 ...
- LruCache源码分析
LRU(Least Recently Used)是一种很常用的资源调度策略,与20/80原则契合,在资源达到上限时倾向保留最近经常访问的资源对象. Android中基于LRU实现了缓存对象,即LruC ...