SpringBoot相关知识点备忘录
核心配置文件:
application:SpringBoot项目的自动化配置
bootstrap:使用SpringCloud config配置中心时,需要在bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;包括一些固定的不能被覆盖的属性和一些加密/解密的场景。
配置文件的两种格式:
.properties和.yml
核心注解:
启动类上面的注解是SpringBootApplication
包含三个注解:
SpringBootConfiguration:组合Configuration注解,实现配置文件功能
EnableAutoConfiguration:打开了自动配置的功能,也可以关闭某个自动配置的选项
ComponentScan:Spring组件扫描
开启SpringBoot特性的方法:
1、继承spring-boot-parent父项目
2、导入dependencies项目依赖
SpringBoot自动配置原理是什么:
注解EnableAutoConfiguration,Configuration,ConditionalOnClass是自动配置核心,首先他得是一个配置文件,其次根据类路径下是否有这个类去自动配置
如何集成SpringBoot和activeMQ:
使用spring-boot-starter-activemq依赖
如何使用SpringBoot实现异常处理:
实现ControllerAdvice类来处理控制类抛出的所有异常
@RequestMapping和@GetMapping的不同之处:
@RequestMapping具有类属性,可以进行get、post、put或者其他注释中具有的请求方法
@GetMapping是get请求方法中的一个特例,只是@RequestMapping的一个延伸,目的是为了提高清晰度
SpringBoot支持哪些日志框架:
SpringBoot支持JavaUtil logging、log4j2、lockback作为日志框架,如果使用starters启动器SpringBoot将使用logback作为默认的日志框架。
SpringBoot实现热部署的方式:
1、引用devtools依赖(生产环境将被禁用)如java -jar/自定义类加载器等
2、在properties中自定义配置热部署
SpringBoot如何定义多套不同环境配置:
1、建立多个环境下的配置文件
2、基于yml文件类型,指定profiles模式
如何在SpringBoot中添加通用Js代码:
在源文件夹下,创建static文件夹,将静态内容放在此目录下
SpringCloud如何实现服务的注册和发现:
服务在发布时,指定对应的服务名(服务名包含了IP地址和端口),将服务注册到注册中心(eureka或zookeeper),这一过程是SpringCloud自动实现,只需在main方法中添加EnableDisscoveryClient
同一服务修改端口就可以启动多个实例
调用方法:传递服务名称通过注册中心获取所有的可用实例,通过负载均衡策略调用(ribbon或feign)对应服务
Ribbon和Feign的区别:
1、启动类使用注释不同:
@RibbonClient/EnableFeignClients
2、服务指定位置不同:
Ribbon是在RibbonClient注释上声明
Feign是在定义抽象方法的接口中使用FeignClient声明
3、调用方式不同:
Ribbon需要自己构建http请求,模拟http请求然后使用RestTemplate发送给其他服务
Feign采用接口方式,将需要调用的其他方法定义成抽象方法即可
SpringBoot集成Mybatis过程:
1、添加maven依赖
2、在mybatis接口中,添加Mapper注解
3、在application.yml配置数据源信息