SpringBoot2 最佳实践

SpringBoot2 最佳实践

基本流程:引入场景依赖 → 检查自动配置 → 修改配置项 → 按需自定义组件。

引入场景依赖(Starter)

  • 根据功能需求,引入对应的 Starter。
  • Starter 集中提供该场景所需的依赖,简化依赖管理。
  • Spring Boot 根据依赖、配置项及容器中的组件等条件,决定哪些自动配置生效。

注意:引入依赖后,相关自动配置通常会生效,但仍需满足条件。

查看哪些自动配置生效(按需)

分析源码

  • 找到相关的 XxxAutoConfiguration 类。
  • 查看 @Conditional… 条件,判断配置是否生效。

查看条件评估报告

  • 在 application.properties 中添加:
    debug=true

  • 或在启动时添加参数 --debug。

  • 报告中:

    • Positive matches:条件匹配,相关配置可生效。
    • Negative matches:条件未匹配,相关配置未生效,并说明原因。

注意:debug=true 用于输出调试信息和条件报告,不会强制启用自动配置。

根据需要修改默认配置

优先修改配置项

  • 在 application.properties 或 application.yml 中设置。

  • 查阅对应版本的文档,确认属性名称、作用和默认值。

  • 例如修改服务端口:
    server.port=8081

通过源码查找配置项

  • 找到相关的 XxxProperties 类。
  • 查看 @ConfigurationProperties(prefix="…"),确定属性前缀。
  • 结合字段及嵌套结构,确定完整属性名。

理解:配置文件中的属性 → 绑定到 Properties 对象 → 自动配置读取并使用。

按需添加或替换组件

注册自定义组件

  • @Configuration + @Bean:通过方法创建并注册组件,常用于第三方类。

  • @Component:标注自定义类,由组件扫描注册。

  • 配置类或组件类必须被扫描到,或通过 @Import 等方式导入。

替换默认组件

  • 许多默认组件使用 @ConditionalOnMissingBean。
  • 当容器中已有符合条件的自定义 Bean 时,默认组件不再创建,即自动配置“退让”。
  • 能否替换取决于具体条件,并非添加任意 Bean 都能覆盖默认组件。

禁用不需要的自动配置

  • 可使用 @SpringBootApplication(exclude = XxxAutoConfiguration.class) 排除指定自动配置。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇