1、Spring Boot简介
-
Spring Boot是用来简化Spring应用初始搭建以及开发过程的全新框架,被认为是Spring MVC的“接班人”。
-
简化配置,化繁为简。
-
备受关注,是下一代框架。
-
微服务的入门级微框架。
-
从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.x和Spring boot都推荐使用java配置的方式。
-
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。


- @Configuration 和 @Bean
- Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的:
- 1、@Configuration 作用于类上,相当于一个xml配置文件;
- 2、@Bean 作用于方法上,相当于xml配置中的<bean>;
2、搭建开发环境
- 1:在File菜单里面选择 New > Project,然后选择Spring Initializr,接着如下图一步步操作即可。


-
2:根据上面的操作并点击Next.得到初始化的一个Spring Boot的框架了,项目结构如下:

- 3:运行程序。选择
SpringbootApplication
右键选择run
即可。

- 4:运行结果如下

- 5:创建控制器Controller.


3、配置属性
方法一:
1:创建application.yml文件

2:在控制器中使用该属性

3: 运行结果如下:

方法二:只用写一次的方法,把配置分组。



-
动态设置不同环境下配置不同的问题
创建开发环境的属性配置文件和生产环境的配置文件
4、Controller控制器的使用
-
@RestController
:表示该类为Controller,并且提供Rest接口,即所有接口的值以Json格式返回。该注解其实是@Controller
和@ResponseBody
的组合注解,便于我们开发REST API。 -
@RequestMapping
、@GetMapping
、@PutMapping
:表示接口的URL地址。标注在类上的@RequestMapping
注解表示该类下的所有接口的URL都以/product
开头。@GetMapping
表示这是一个Get HTTP接口,@PutMapping
表示这是一个Put HTTP接口。 -
@PathVariable
、@RequestBody
:表示参数的映射关系。假设有个Get请求访问的是/product/123
,那么该请求会由getProductInfo
方法处理,其中URL里的123会被映射到productId中。同理,如果是Put请求的话,请求的body会被映射到newProduct
对象中。

单纯使用@Controller,需要配合模版来使用

在resources包下创建模版文件


运行结果:

最后不推荐这种方式,只需要了解就可以了。现在都是前后端分离的方式。
其实RestController相当于ResponseBody和Controller的共同作用

5、 ResustMapping使用


运行结果:

6、获取参数和注解

当请求的url含参数时 127.0.0.1:8081/hello/say/10

当请求的url中是 127.0.0.1:8081/hello/say?id=100

在单个参数的情况下,这样写完全没问题。但是当参数比较多的时候,就需要创建对象的方式来获取参数的值了。这样做更加优雅一些
在一个查询接口中,需要的参数比较多,如果还是使用GET方式进行请求的话,那么,Controller 中的方法的参数列表将会非常多,如:
public List<String> getName(@RequestParam String query1,
@RequestParam String query2,
@RequestParam String query3,
......) {
return new ArrayList<>();
}
这种情况下最好的方式就是: 将所有参数封装成一个类,然后使用 @RequestBody注解将参数自动解析成该类的一个实例
。
7、数据库操作
-
1: Spring-Data-Jpa来操作MySQL数据库。
-
Jpa(Java Persistence API) 定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate 、TopLink等。
-
Spring-Data-Jpa是对Hibernate的整合。
-
实体映射MySQL数据库表,启动服务时包错误信息:
Caused by: org.hibernate.AnnotationException: No identifier specified fo xxxx
-
-
2:RESTful API设计
-
查询所有的投诉请求信息
-


这里的返回的结果没有按照后端的标准来,只是一个例子。包括命名规则,也没按照规范来。希望大家不要这样写。
-
插入一条投诉信息

- 查询一条投诉信息


- 更新投诉信息


- 删除投诉信息


- 自定义查询字段



8、事务的提交Service



微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。
网友评论