经典面试题5(SpringBoot)

目录

1,SpringBoot是什么?

2,SpringBoot的优点是什么? 

3,SpringBoot的核心配置文件有哪些?

4,SpringBoot的常用注解

5,Spring Boot的核心注解是什么?

6,开启SpringBoot的特性的方式?

7,SpringBoot自动配置的原理是什么?

8,如何实现SpringBoot应用程序的安全性?

9.如何使用 Spring Boot 实现全局异常处理

1,SpringBoot是什么?

        SpringBoot主要用来简化使用Spring的的使用,它是Spring组件的一站式解决方案,使用yml文件代替了复杂的xml文件,同时提供了各种启动器,使开发者能快速上手。

2,SpringBoot的优点是什么? 

1,简化spring的开发,提高开发的效率。

2,简化了配置,远离了繁琐的配置。

3,SpringBoot使用了javaconfing有助于避免使用xml,避免大量的Maven导入和版本冲突。

4,springboot引导的应用程序可以与spring生态系统集成,比如spring jdbc,spring orm,spring data,spring security。

5,提供嵌入式HTTP服务器,可以更轻松地开发和测试web应用程序。

6,spring boot没有单独的web服务器,启动就不需要tomcat或者其他东西。

3,SpringBoot的核心配置文件有哪些?

 有两种:
.prooerteis文件

文件内容: 

#设置端口号
server.port=8080
#设置访问应用的上下文路径
server.servlet.context-path=/myboot

然后视图层

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class BootController {

    @RequestMapping("/hello")
    @ResponseBody
    public String doSome() {
        return "SpringBoot启动";
    }
}

.yml文件

server:
  port: 8080
  servlet:
    context-path: /myboot2

        yml和上面的文件内容一样,但是yml的结构更加分明,层次分明。注意的是,:后面要加空格。

        如果一个项目中既有application.properties和application.yml文件,那么properties的优先级高,先生效,但是不建议一个项目中有两种类型的配置文件。

4,SpringBoot的常用注解

1,@SpringBootApplication:最核心的注解,自动化配置文件,用来启动SpringBoot项目。是由@SpringBootConfigryation、@EnableAutoConfiguration、@ComponentScan三个注解组合而成的。

2,@EnableScheduling :允许SpringBoot自动配置注解,开启这个注解之后,SpringBoot就可以根据当前类路径下的包或者类来配置Spring Bean。

3,@RestController :是@Controller (用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口)和 @ResponseBody (表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。)的 结 合 ,一个类加上@RestController注解,数据接口就不需要添加@ResponseBody ,更加简洁。

4,@RequestMapping,提供路由信息,负责URL到Controller中的具体函数的映射;该注解包含以下6个属性:(常用value):

  • params:指定request中必须包含某些参数值是,才让该方法处理;
  • headers:指定request中必须包含某些指定的header值,才能让该方法处理请求;
  • value:指定请求的实际地址,指定的地址可以是URI Template 模式;
  • method:指定请求的method类型, GET、POST、PUT、DELETE等;
  • consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
  • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。

5,@Configuration等同于Spring的XML配置文件,使用Java代码可以检查类型安全。指出该类是 Bean 配置的信息源,相当于XML的<beands></beans>,一般加在主类上。

6,@Bean相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理;

7,@Value注入 application.properties 或 application.yml 配置的属性的值;

8,@ControllerAdvice包含@Component,可以被扫描到,统一处理异常;

9,@ExceptionHandler(Exception.class)用在方法上面,表示遇到这个异常就执行以下方法;

5,Spring Boot的核心注解是什么?

启动类的注解是@SpringBootApplication,它包含了三个很主要的注解:

  • @SpringBootConfifiguration:组合了@Confifiguration ,实现了配置文件的功能。
  • @EnableAutoConfifiguration:打开自动配置功能,也可以关闭某个自动配置的选项。
  • @ComponentScan:Spring组件扫描。

6,开启SpringBoot的特性的方式?

  1. 继承spring-boot-starter-parent项目
  2. 导入spring-boot-dependencies项目依赖

7,SpringBoot自动配置的原理是什么?

        主要是SpringBoot的启动类上的和注解SpringBootApplication注解主配置类,有了这个主配置类启动时就会为SpringBoot开启一个@EnableAutoConfifiguration注解自动配置功能。

        有了这个EnableAutoConfifiguration的作用:

  • 从配置文件META_INF加载可能用到的配置类。
  • 去重,将exclude和excludeName属性携带的类排除。
  • 过滤,将满足条件的自动配置类返回。

8,如何实现SpringBoot应用程序的安全性?

        我们可以是我们使用 spring-boot-starter-security依赖项,并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展WebSecurityConfigurerAdapter 并覆盖其方法。

        SpringSecurity是专门针对基于Spring项目的安全框架(重量级),充分利用依赖注入和AOP来实现安全监管。

9.如何使用 Spring Boot 实现全局异常处理?

        Spring提供了用ControllerAdvice处理异常的非常有用的方法,我们通过ControllerAdvice类,来处理控制器类抛出的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会Java的MING

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值