本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
简单介绍一下 Spring?有什么缺点?
Spring 为企业级 Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象实现了 EJB 的功能。
缺点:虽然 Spring 的组件代码是轻量级的,但他的配置却是重量级的(需要大量 xml 配置),除此之外,相关库的依赖、版本冲突也非常常见。
为什么要有 Spring Boot?
Spring Boot 旨在简化 Spring 的开发。
什么是 Spring Boot Staters?
Spring Boot Staters 是一系列依赖关系的集合,因为它的存在,项目的依赖关系对我们来说变得更加简单了。
Spring Boot 支持哪些内嵌 Servlet 容器?
1.Tomcat 9.0
2.Jetty 9.4
3.Undertow 2.0
@SpringBootApplication 注解
@SpringBootApplication 是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。
@Configuration:允许在上下文注册额外的 Bean 或导入其他配置类
@ComponentScan:扫描被 @Component 注解的 bean,注解默认会扫描该类所在的包下所有的类
@EnableAutoConfiguration:启动 SpringBoot 的自动配置机制
开发 RESTful Web 服务常用的注解有哪些?
Spring Bean 相关:
@Autowired : 自动导入对象到类中,被注入进的类同样要被 Spring 容器管理。
@RestController : @RestControl1er 注解是 @Controller 和 @ ResponseBody 的合集, 表示这是个控制器 bean, 并且是将函数的返回值直接填入 HTTP 响应体中, 是 REST 风格的控制器。
@Component : 通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用 @Component 注解标注。
@Repository : 对应持久层即 Dao 层, 主要用于数据库相关操作。
@Service : 对应服务层,主要涉及一些每杂的逻辑,需要用到 Dao 层。
@Controller : 对应 Spring MVC 控制层,主要用于接受用户请求并调用 Service 层返回数据给前端页面。
常见的 HTTP 请求类型:
@Get Mapping :GET 请求
@PostMapping : POST 请求
@PutMapping : PUT 请求
@DeleteMapping : DELETE 请求
前后端传值:
@RequestParam 获取查询参数
@PathVariable 获取路径参数
@RequestBody : 读取 request 请求,接收到数据之后会自动将数据绑定到 Java 对象上去。
什么是 YAML?有什么优缺点?
YAML 是一种人类可读的数据序列化语言,通常用于配置文件。
优点:YAML 文件具有结构化的特点,直观清晰,有层次感。
缺点:不支持 @PropertySource 注解导入自定义的 YAML 配置
Spring Boot 常用的读取配置文件的方式有哪些?
-
通过 @Value 读取比较简单的配置信息(不被推荐)
-
通过 @ConfigurationProperties 读取并与 bean 绑定(使用 @Component)
可以像普通 bean 一样,将其注入到类中使用。
- 如果不使用 @Component,要在使用配置文件的地方使用 @EnableConfigurationProperties 注册我们配置的 bean
4.@PropertySource 读取指定的 Properties 文件
常见的 Bean 映射工具
Spring BeanUtils、Apache BeanUtils、MapStruct、 ModelMapper、Dozer、 Orika、 JMapper
Spring Boot 如何监控系统实际运行状态?
可以使用 Spring Boot Actuator 对 Spring Boot 项目进行简单的监控,提供了一些获取程序运行时的内部状态信息的 API。
Spring Boot 如何做请求参数校验?
只需要导入 spring-boot-starter-web 依赖就够了,它的子依赖包含了我们所需要的东西。