当前位置: 首页 > news >正文

第十四天,7月8日,八股

1、如何在Spring boot启动时运行一些特定的代码

就是如何把自定义的类(调度器的任务类)加入到Spring生命周期

(1)接口ApplicationRunner或者CommandLineRunner这个两个接口都只提供了一个run方法,实现上述接口的类加入ioc即可生效

(2)使用@PostConstruct注解,即可在bean初始化后立刻执行代码

2、如何重新加载Spring Boot上的更新,而无需重新启动服务器

   就是如何实现热部署

   使用开发工具dettools,添加依赖spring-boot-devtools即可,但是该模式在生产环境中禁用

3、RequestMapping和GetMapping的不同之处在哪里

SpringMVC中最常用的注解,可以处理http请求

(1)RequestMapping具有类属性(可以标注在类上),可以进行get、post、put或者delete等

(2)GetMapping是Get请求方法的一个特例,是RequestMapping的一个延伸(@RequestMapping(method = RequestMethod.GET)),目的是为了提高清晰度

4、Spring Boot需要独立的容器运行吗

可以不需要,内置了Tomcat/jetty(轻量级的web服务器和servlet容器)等容器

5、Spring Boot支持哪些日志框架,推荐和默认哪个日志看框架

(1)支持logback,log4j2和java util logging(jul)

  (2)如果使用了‘starter’,默认是logback

6、Spring boot有哪几种读取配置的方式

(1)@Value(${a.b}):适合读取单个配置项,不适合批量读取

  (2) @ConfigurationProperties(prefix='a'):适合批量读取配置项,并将其注入到POJO类中

(3)@PropertySouce("classpath:a.properrties")+@Value("${}"):加载自定义的properties文件,并读取其中的属性值

(4)使用Environment接口:

@RestController
public class MyController {
@Autowired
private Environment environment;@RequestMapping("/property")
public String getProperty() {
return environment.getProperty("my.property");
}
}

(5)java原生方式

public class MyConfig {
public static void main(String[] args) throws IOException {
Properties props = new Properties();
try (InputStream input = new FileInputStream("my.properties")) {
props.load(input);
}
System.out.println(props.getProperty("my.property"));
}
}

7、Spring Boot如何定义多套不同环境配置

(1)基于properties配置文件

【1】创建各环境的配置文件:application.properties、application-dev.properties、application-test.properties、application-prod.properties

【2】在application.properties中指定配置文件,spring-profiles.active=test

(2)基于yml文件

可以只需要一个application.yml文件即可

# application.yml
spring:
profiles:
active: prod---
spring:
profiles: dev
server:
port: 8083---
spring:
profiles: prod
server:
port: 8084

8、Spring Boot可以兼容老Spring项目吗

可以兼容,使用@ImportResource注解注入老Spring项目配置文件

http://www.dtcms.com/a/269850.html

相关文章:

  • 《UE5_C++多人TPS完整教程》学习笔记42 ——《P43 瞄准(Aiming)》
  • 【音视频】HLS-m3u8协议介绍
  • Redis基础学习(五大值数据类型的常用操作命令)
  • 超低功耗CC2340R SimpleLink™ 系列 2.4GHz 无线 MCU支持BLE5.3/Zigbee/Thread/专有协议
  • 微软上线 Deep Research 预览版:o3+必应赋能研究自动化
  • css 面试题
  • 从零构建MCP服务器:FastMCP实战指南
  • 跨平台软件构建方法及工具介绍
  • 深度学习-多分类
  • Java 实现 Excel 文件对比与数据填充
  • 多线程(1)
  • Minmax 算法与 Alpha-Beta 剪枝小教学
  • (普及−)B3629 吃冰棍——二分/模拟
  • 【Spring WebSocket详解】Spring WebSocket从入门到实战
  • Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
  • MATLAB/Simulink电机控制仿真代做 同步异步永磁直驱磁阻双馈无刷
  • CD46.【C++ Dev】list的模拟实现(1)
  • 一天一道Sql题(day02)
  • SSH密钥 与 Ed25519密钥 是什么关系
  • 服务器的RAID存储方案如何选择最合适?
  • 20250708-2-Kubernetes 集群部署、配置和验证-使用kubeadm快速部署一个K8s集群_笔记
  • 兰顿蚂蚁路径lua测试
  • 无缝高清矩阵与画面分割器的区别
  • OpenWebUI(5)源码学习-后端socket通信模块
  • Apache DolphinScheduler保姆级实操指南:云原生任务调度实战
  • iOS打包流程
  • navicat导出数据库的表结构
  • 鸿蒙分布式开发实战指南:让设备协同像操作本地一样简单
  • 深度 |以数字技术赋能服务消费场景创新
  • kafka如何让消息均匀的写入到每个partition