SpringBoot 精简笔记
0. Fundamental
a. @SpringBootApplication //启动类
b. pom.xml //Maven基本依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/>
</parent> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1. application.yml (application-dev.yml, application-prod.yml)
spring:
profiles:
active: prod //设置激活的profile名字 server:
port: 8080
content-path: /demo student:
name: Peter
age: 19
message: My name is ${student.name}, age is ${student.age} spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo
username: root
password: 123465
jpa:
hibernate:
dll-auto: update
show-sql: true
2. 注入设置值
a. 直接使用单个值:@Value("${student.name}")
b. 注入配置类:
@Component
@ConfigurationProperties(prefix = "student") //一系列配置属性的前缀
3. Controller
a. @Controller: 处理http请求,返回模板文件名 (旧方式)
b. @RestController:处理请求,返回json
@RequestMapping: 配置URL映射
@GetMapping, @PutMapping, @PostMapping, @DeleteMapping
@PathVariable //e.g. /hello/{id}
@RequsetParam //e.g. ?name=Peter
4. Spring-Data-Jpa
a. @Entity;
b. @Id (添加annotation @GeneratedValue 来产生自动增长的id值);
c. Interface class Repository (findOne,findAll,findByXXX,save);
d. @Service;
e. @Transactional;
5. Validation
a. @Min(value=18, message="Less than minimum value."), 最小值,添加到@Entity的property上。
b. @Valid, BindingResult bindingResult, 绑定验证结果到变量中,如果bindingResult.hasErrors()非空,则获取错误信息:bindingResult.getFieldError()。
6. AOP
a. 添加依赖 spring-boot-starter-aop;
b. @Aspect, @Component;
c. @Pointcut, @Before, @After;
d. 参数注入:JointPoint,@AfterReturning(returning = "object", pointcut = "log()");
7. 统一异常处理
a. @ControllerAdvice, @ExceptionHandler;
b. Self-defined exception, to extend RuntimeException;
c. Self-defined Enum, to list out all the exception cases;
8. 单元测试
a. @RunWith(SpringRunner.class), @SpringBootTest(classes = Application.class), @ActiveProfiles("test");
b. @AutoConfigureMockMvc =>
@Autowired
MockMvc mvc;
mvc.perform(MockMvcRequestBuilders.get("/api")).andExpect(MockMvcResultMatchers.status.isOk());
SpringBoot 精简笔记的更多相关文章
- SpringBoot学习笔记
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
- SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用
SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用 Spring Boot Admin是一个管理和监控Spring Boot应用程序的应用程序.本文参考文档: 官 ...
- JavaScript 精简笔记
JavaScript 精简笔记,摘自 廖雪峰的官方网站. [From] https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51 ...
- SpringBoot学习笔记(3):静态资源处理
SpringBoot学习笔记(3):静态资源处理 在web开发中,静态资源的访问是必不可少的,如:Html.图片.js.css 等资源的访问. Spring Boot 对静态资源访问提供了很好的支持, ...
- SpringBoot学习笔记(2):引入Spring Security
SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...
- SpringBoot学习笔记(7):Druid使用心得
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...
- SpringBoot学习笔记(4):与前端交互的日期格式
SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可 ...
- SpringBoot学习笔记(4):添加自定义的过滤器
SpringBoot:学习笔记(4)——添加自定义的过滤器 引入自定义过滤器 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. SpringBoot添加过滤器 ...
随机推荐
- R dataframe 遗忘, which 矩阵搜索
A data frame is used for storing data tables. It is a list of vectors of equal length. For example, ...
- Luogu 4244 [SHOI2008]仙人掌图
BZOJ 1023 如果我们把所有的环都缩成一个点,那么整张图就变成了一棵树,我们可以直接$dp$算出树的直径. 设$f_x$表示$x$的子树中最长链的长度,那么对于$x$的每一个儿子$y$,先用$f ...
- Python3 常用爬虫库的安装
Python3 常用爬虫库的安装 1 简介 Windows下安装Python3常用的爬虫库:requests.selenium.beautifulsoup4.pyquery.pymysql.pymon ...
- python字符串大小写转换
str = "www.w3cSChool.cn"print(str.upper()) # 把所有字符中的小写字母转换成大写字母print(str.lower()) # 把所有字符中 ...
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- [GO]数组指针做函数参数
package main import "fmt" //p指向实现数组a,它是指向数组,它是数组指针//*p指向指针指向的内存,就是实参a func modify1(p *[]in ...
- Django-Web框架之创建项目和应用
Django我们是基于python3来演示的.首先我们来安装一下django框架.使用pip3 install django安装的是最新的版本: 我们在pycharm中创建django工程.如图所示: ...
- 转Delphi中XLSReadWrite控件的使用(3) 读和写Excel
unit OpExcell; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...
- 利用find同时查找多种类型文件
find . -name "*.c" -o -name "*.cpp" -o -name "*.h" 就可以列出当前目录下面所有的c,cpp ...
- vs2015+opencv3.3.1 +Eigen 3.3.4 c++实现 薄膜插值 泊松图像编辑(v=0||Δf=0)
#include "core/core.hpp" #include "highgui/highgui.hpp" #include "imgproc/i ...