spring boot学习笔记(5)springboot运行原理

本文解析了SpringBoot的启动原理及其自动配置机制,重点介绍了如何利用@SpringBootApplication注解实现自动配置,并探讨了SpringBoot对HTTP编码、视图解析器、静态资源及格式转换等组件的自动配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring boot运行原理

  1. 关于spring boot运行原理,还是需要回到@SpringBootApplication注解上,他是一个组合注解,核心功能是由@EnableAutoConfiguration注解提供的。
    这里写图片描述
    这里关键的是@Import注解导入的配置功能,
  2. 分析简单的Spring Boot内置的自动配置功能:http编码配置。
    常用的http编码是在web.xml文件中配置一个filter
    自动配置要满足两个条件:
    1. 能配置CharacterEncodingFilter这个Bean。
    2. 能配置encoding和forceEncoding这两个参数。
      配置参数
      在application.properties文件中配置:
      spring.http.encoding;
      默认编码方式是UTF-8,若修改可用
      spring,http.encoding.charset=’编码’
      配置Bean
      根据CharacterEncodingFilter的Bean来配置。

Spring Boot的web开发

Spring boot提供了spring-boot-starter-web为WEB开发予以支持,他提供了嵌入的tomcat和SpringMVC的依赖。
  1. Thymeleaf模板引擎
    提供了完美的Spring MVC支持。
    基础知识
    他是一个Java类库,可以作为MVC的web应用的View层。
    可以使用Thymeleaf替代jsp
    Spring Boot通过autoconfig.thymeleaf包对其进行自动配置。在application.properties文件中添加spring.thymeleaf开头来查看主要属性。

  2. Spring Boot提供的自动配置

    1. 自动配置的ViewResolver
      (1). ContentNegotiatingViewResolver
      (2). BeanNameViewResolver
      IntermalResourceViewResolver
    2. 自动配置的静态资源
      在自动配置类的addResourceHandlers方法中定义了以下静态资源的自动配置。
      (1). 类路径文件
      将类路径下的/static,/public,/resource文件j夹直接映射成/**
      (2). webjar
      webjar就是将我们日常使用的脚本框架封装在jar包,可以直接访问。
    3. 自动配置的Formatter和Converter
      只要我们定义了Converter,GenericConverter和Formatter接口的实现类Bean,这个Bean就会自动注册到SpringMVC中。
    4. 自动配置的HttpMessageConverters
  3. 接管Spring Boot的web位置
  4. 注册Servlet、Filter、Listener
    1. 直接注册Bean示例
 @Bean 
 public XServlet XXServlet(){
    return new XServlet;
}
@Bean 
 public XFilter xFilter(){
    return new XFilter;
}
@Bean 
 public XListener XXListener(){
    return new XListener;
}
    2. 通过RegistrationBean示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值