Spring 框架(IoC、AOP、Spring Boot) 的必會知識點匯總

目錄:

  • 🧠 一、Spring 框架概述
    • 1. Spring 的核心功能
    • 2. Spring 模塊化結構
  • 🧩 二、IoC(控制反轉)核心知識點
    • 1. IoC 的核心思想
    • 2. Bean 的定義與管理
    • 3. IoC 容器的核心接口
    • 4. Spring Bean 的創建方式
  • 🧱 三、AOP(面向切面編程)核心知識點
    • 1. AOP 的核心概念
    • 2. AOP 的通知類型
    • 3. AOP 的實現原理
    • 4. AOP 的使用場景
    • 5. AOP 示例代碼
  • 📌 四、Spring Boot 核心知識點
    • 1. Spring Boot 的核心特性
    • 2. Spring Boot 的啟動流程
    • 3. Spring Boot 核心注解
    • 4. Spring Boot 自動配置原理
    • 5. Spring Boot 的配置文件
    • 6. Spring Boot Actuator 監控
  • 🧪 四、Spring Boot 核心功能與實踐
    • 1. Spring Boot 整合 MyBatis
    • 2. Spring Boot 整合 Spring MVC
    • 3. Spring Boot 整合 Spring Security
  • 🧩 五、Spring Boot 常見面試題及答案
    • 1. Spring 和 Spring Boot 的區別?
    • 2. 什么是 Spring Boot 的 Starter 依賴?
    • 3. Spring Boot 的自動配置原理?
    • 4. Spring Boot 中的 @SpringBootApplication 注解作用?
    • 5. Spring Boot 如何自定義自動配置?
    • 6. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?
    • 7. Spring Boot 如何啟用 Actuator 監控?
  • 📋 六、Spring 核心知識點總結
  • 📄 七、完整代碼示例(Spring Boot + AOP + IoC)
    • 1. 定義 Bean
    • 2. AOP 日志記錄
    • 3. Spring Boot 啟動類
  • 📚 八、推薦學習資料
  • ? 九、完整總結(Spring 核心功能)
  • 📄 十、完整 Spring Boot 面試高頻題
    • 1. Spring Boot 如何實現自動配置?
    • 2. Spring Boot 的 Starter 依賴是什么?
    • 3. Spring Boot 如何啟用 Actuator 監控?
    • 4. Spring Boot 如何自定義自動配置?
    • 5. Spring Boot 的啟動流程?
    • 6. Spring Boot 如何啟用懶加載?
    • 7. Spring Boot 如何集成 MyBatis?
    • 8. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?
  • 📌 十一、Spring Boot 常用配置參數(application.yml)
  • 🧪 十二、Spring Boot 實戰建議
  • 📎 十三、完整 Spring Boot 項目結構示例
  • 📄 十四、Spring Boot 常見問題定位工具
  • 📌 十五、Spring Boot 常用命令行參數
  • 📚 十六、推薦學習資料
  • ? 十七、總結:Spring 開發必會知識點

🧠 一、Spring 框架概述

1. Spring 的核心功能

  • IoC(控制反轉):將對象的創建和依賴管理交給 Spring 容器。
  • AOP(面向切面編程):解耦核心業務邏輯與非業務邏輯(如日志、事務)。
  • Spring Boot:基于 Spring 的快速開發框架,提供自動配置和內嵌服務器。

2. Spring 模塊化結構

Spring 框架由多個模塊組成,核心模塊包括:

  • Spring Core:IoC 和 Bean 管理。
  • Spring Context:上下文支持(如 ApplicationContext)。
  • Spring AOP:AOP 支持。
  • Spring Data Access:JDBC、ORM 框架集成。
  • Spring Web:Web 開發支持(如 Spring MVC)。

🧩 二、IoC(控制反轉)核心知識點

1. IoC 的核心思想

  • 傳統方式:對象由程序主動創建(如 new User())。
  • IoC 方式:對象由 Spring 容器創建并管理,程序只需聲明依賴關系。

2. Bean 的定義與管理

  • Bean 的作用域:
作用域說明
singleton默認作用域,容器中只有一個實例(單例)
prototype每次請求都創建新實例
requestWeb 應用中,每個 HTTP 請求一個實例
sessionWeb 應用中,每個 HTTP 會話一個實例
  • Bean 的生命周期:
創建 Bean → 依賴注入 → 初始化(@PostConstruct / init-method) → 使用 Bean → 銷毀(@PreDestroy / destroy-method)
  • Bean 的注入方式
- 構造器注入:
@Service
public class UserService {private final UserRepository userRepo;public UserService(UserRepository userRepo) {this.userRepo = userRepo;}
}
- Setter 注入:
@Service
public class UserService {private UserRepository userRepo;@Autowiredpublic void setUserRepository(UserRepository userRepo) {this.userRepo = userRepo;}
}
- 字段注入(不推薦):
@Service
public class UserService {@Autowiredprivate UserRepository userRepo;
}

3. IoC 容器的核心接口

  • BeanFactory:基礎容器接口,支持懶加載。
  • ApplicationContext:擴展 BeanFactory,提供更多企業級功能(如 AOP、國際化、事件機制)。

4. Spring Bean 的創建方式

  • XML 配置:
<bean id="userService" class="com.example.UserService"><property name="userRepo" ref="userRepository"/>
</bean>
  • 注解方式:
@Component // 組件掃描
public class UserService { ... }@Service // 業務層注解
public class UserService { ... }@Repository // 數據層注解
public class UserRepository { ... }
  • Java 配置類:
@Configuration
public class AppConfig {@Beanpublic UserService userService() {return new UserService(userRepository());}@Beanpublic UserRepository userRepository() {return new UserRepository();}
}

🧱 三、AOP(面向切面編程)核心知識點

1. AOP 的核心概念

  • 切面(Aspect):橫切關注點的模塊化(如日志、權限)。
  • 切點(Pointcut):定義哪些方法需要增強(如所有 @GetMapping 方法)。
  • 通知(Advice):在切點前后執行的邏輯(如方法執行前后記錄日志)。
  • 連接點(Join Point):程序執行過程中的某個點(如方法調用)。
  • 織入(Weaving):將切面邏輯插入到目標對象的過程。

2. AOP 的通知類型

通知類型注解說明
前置通知(Before)@Before方法執行前執行
后置通知(After)@After方法執行后執行(無論是否異常)
返回通知(AfterReturning)@AfterReturning方法正常返回后執行
異常通知(AfterThrowing)@AfterThrowing方法拋出異常時執行
后置通知(After)@Around方法執行前后都可以執行(最靈活)

3. AOP 的實現原理

  • JDK 動態代理:基于接口的代理(java.lang.reflect.Proxy)。
  • CGLIB 代理:基于子類繼承的代理(適用于無接口的類)。

4. AOP 的使用場景

日志記錄:記錄方法調用日志。
權限控制:驗證用戶是否有權限執行某個操作。
事務管理:在方法執行前后開啟/提交事務。
緩存處理:緩存方法結果,避免重復計算。

5. AOP 示例代碼

@Aspect
@Component
public class LoggingAspect {// 定義切點:所有 controller 包下的方法@Pointcut("execution(* com.example.controller.*.*(..))")public void controllerMethods() { }// 前置通知@Before("controllerMethods()")public void logBefore(JoinPoint joinPoint) {System.out.println("方法執行前: " + joinPoint.getSignature().getName());}// 環繞通知@Around("controllerMethods()")public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {long start = System.currentTimeMillis();Object result = joinPoint.proceed(); // 執行目標方法long duration = System.currentTimeMillis() - start;System.out.println("方法執行耗時: " + duration + "ms");return result;}
}

📌 四、Spring Boot 核心知識點

1. Spring Boot 的核心特性

特性說明
自動配置根據類路徑自動配置 Bean(如 DataSource、WebMvcConfigurer)
Starter 依賴提供開箱即用的依賴組合(如 spring-boot-starter-web)
內嵌服務器默認內嵌 Tomcat、Jetty 等服務器,無需外部部署
Actuator 監控提供健康檢查、指標監控等端點(如 /actuator/health)
配置集中管理使用 application.properties 或 application.yml 統一管理配置

2. Spring Boot 的啟動流程

  1. 啟動類:使用 @SpringBootApplication 注解。
@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}
  1. 自動配置:Spring Boot 根據類路徑自動加載配置(如 DataSourceAutoConfiguration)。
  2. 內嵌服務器啟動:默認啟動內嵌 Tomcat(可替換為 Jetty 或 Undertow)。

3. Spring Boot 核心注解

注解說明
@SpringBootApplication組合注解(@ComponentScan + @EnableAutoConfiguration)
@Component通用組件掃描
@Service業務層注解
@Repository數據層注解
@RestController組合注解(@Controller + @ResponseBody)
@Configuration配置類注解
@Bean在配置類中定義 Bean
@EnableAutoConfiguration啟用自動配置

4. Spring Boot 自動配置原理

  • 自動配置類:Spring Boot 提供的 spring-boot-autoconfigure 模塊中定義了自動配置類(如 DataSourceAutoConfiguration)。
  • 條件注解:使用 @ConditionalOnClass、@ConditionalOnMissingBean 等條件注解,按需加載 Bean。
  • 配置文件:通過 application.yml 或 application.properties 覆蓋默認配置。

5. Spring Boot 的配置文件

  • application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
  • application.yml:
spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: 123456

6. Spring Boot Actuator 監控

  • 常用端點
端點功能
/actuator/health健康檢查
/actuator/metrics系統指標
/actuator/configprops配置屬性
/actuator/mappings請求映射信息
/actuator/shutdown關閉應用(需啟用 management.endpoint.shutdown.enabled=true)

🧪 四、Spring Boot 核心功能與實踐

1. Spring Boot 整合 MyBatis

  • 依賴:
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version>
</dependency>
  • 配置:
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.model
  • 代碼示例:
@Repository
public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User selectById(Long id);
}

2. Spring Boot 整合 Spring MVC

  • 控制器示例:
@RestController
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/users/{id}")public User getUser(@PathVariable Long id) {return userService.getUserById(id);}
}

3. Spring Boot 整合 Spring Security

  • 依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
  • 配置類:
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/public/**").permitAll().anyRequest().authenticated().and().formLogin();}
}

🧩 五、Spring Boot 常見面試題及答案

1. Spring 和 Spring Boot 的區別?

  • Spring
    是基礎框架,支持 IoC 和 AOP,需手動配置。
    適用于傳統企業級應用(如 XML 配置)。
  • Spring Boot
    基于 Spring 的快速開發框架,提供自動配置和內嵌服務器。
    適用于微服務、快速原型開發。

2. 什么是 Spring Boot 的 Starter 依賴?

  • Starter 依賴:Spring Boot 提供的預配置依賴包,簡化依賴管理和配置。
  • 示例
<!-- 整合 Web 開發 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><!-- 整合 MyBatis -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

3. Spring Boot 的自動配置原理?

  • 自動配置類:Spring Boot 提供的 spring-boot-autoconfigure 模塊中包含自動配置類。
  • 條件注解:通過 @ConditionalOnClass、@ConditionalOnMissingBean 等注解,按需加載 Bean。
  • 配置文件:通過 application.yml 或 application.properties 覆蓋默認配置。

4. Spring Boot 中的 @SpringBootApplication 注解作用?

作用:組合注解,包含:
@ComponentScan:自動掃描 Bean。
@EnableAutoConfiguration:啟用自動配置。
@Configuration:聲明配置類。

5. Spring Boot 如何自定義自動配置?

步驟

  1. 創建自定義配置類。
  2. 使用 @ConditionalOnClass、@ConditionalOnMissingBean 等條件注解。
  3. 將配置類打包為 spring.factories 文件(位于 META-INF 目錄)。

示例

@Configuration
@ConditionalOnClass(UserService.class)
public class MyAutoConfiguration {@Beanpublic UserService userService() {return new UserService();}
}
# META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.MyAutoConfiguration

6. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?

注解 說明
@ConditionalOnClass 指定類存在時加載配置
@ConditionalOnMissingClass 指定類不存在時加載配置
@ConditionalOnBean 指定 Bean 存在時加載配置
@ConditionalOnMissingBean 指定 Bean 不存在時加載配置
@ConditionalOnProperty 配置文件中指定屬性存在時加載配置

7. Spring Boot 如何啟用 Actuator 監控?

依賴:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

配置:

management:endpoints:web:exposure:include: "*"

訪問端點:
http://localhost:8080/actuator/health
http://localhost:8080/actuator/metrics

📋 六、Spring 核心知識點總結

在這里插入圖片描述

📄 七、完整代碼示例(Spring Boot + AOP + IoC)

1. 定義 Bean

@Service
public class UserService {public void doSomething() {System.out.println("UserService.doSomething");}
}@Repository
public class UserRepository {public void save() {System.out.println("UserRepository.save");}
}

2. AOP 日志記錄

@Aspect
@Component
public class LoggingAspect {@Pointcut("execution(* com.example.service.*.*(..))")public void serviceMethods() { }@Before("serviceMethods()")public void logBefore(JoinPoint joinPoint) {System.out.println("方法執行前: " + joinPoint.getSignature().getName());}@After("serviceMethods()")public void logAfter(JoinPoint joinPoint) {System.out.println("方法執行后: " + joinPoint.getSignature().getName());}
}

3. Spring Boot 啟動類

@SpringBootApplication

public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

📚 八、推薦學習資料

  • 《Spring 實戰》(Craig Walls)
  • 《Spring Boot 實戰》(Mark Heckler)
  • B站、慕課網、CSDN、知乎 等平臺的 Spring Boot 視頻教程
  • Spring 官方文檔:https://docs.spring.io/spring-- framework/docs/current/javadoc-api/
  • Spring Boot 官方文檔:https://docs.spring.io/spring-boot/docs/current/reference/html/

? 九、完整總結(Spring 核心功能)

  • Spring 核心思想
    - IoC:將對象的創建交給容器管理
    - AOP:將非業務邏輯解耦
  • Spring Boot 核心優勢
    - 自動配置:減少手動配置
    - 內嵌服務器:無需外部部署
    - Actuator 監控:提供運行時指標

📄 十、完整 Spring Boot 面試高頻題

1. Spring Boot 如何實現自動配置?

答案

  • 通過 spring-boot-autoconfigure 模塊中的自動配置類。
  • 使用 @ConditionalOnXXX 注解按條件加載 Bean。
  • 通過 application.yml 或 application.properties 覆蓋默認配置。

2. Spring Boot 的 Starter 依賴是什么?

答案

  • 提供開箱即用的依賴組合(如 spring-boot-starter-web)。
  • 自動配置 Bean(如 DataSource、Jackson)。

3. Spring Boot 如何啟用 Actuator 監控?

答案

  • 添加 spring-boot-starter-actuator 依賴。
  • 配置 management.endpoints.web.exposure.include=*。
  • 訪問端點(如 /actuator/health)。

4. Spring Boot 如何自定義自動配置?

答案

  • 創建自定義配置類。
  • 使用 @ConditionalOnXXX 注解按條件加載。
  • 打包為 spring.factories 文件,供 Spring Boot 自動加載。

5. Spring Boot 的啟動流程?

答案

  • 執行 SpringApplication.run()。
  • 加載自動配置類(@EnableAutoConfiguration)。
  • 啟動內嵌服務器(Tomcat、Jetty)。
  • 執行 @PostConstruct 和 CommandLineRunner。

6. Spring Boot 如何啟用懶加載?

答案

  • 配置 spring.main.lazy-initialization=true。
  • 僅在需要時創建 Bean,提升啟動速度。

7. Spring Boot 如何集成 MyBatis?

答案

  • 添加 mybatis-spring-boot-starter 依賴。
  • 配置數據源(application.yml)。
  • 定義 Mapper 接口和 XML 映射文件。

8. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?

答案

  • @ConditionalOnClass:類存在時加載。
  • @ConditionalOnMissingBean:Bean 不存在時加載。
  • @ConditionalOnProperty:配置文件中屬性存在時加載。
  • @ConditionalOnMissingClass:類不存在時加載。

📌 十一、Spring Boot 常用配置參數(application.yml)

# 配置數據源
spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver# 配置 MyBatis
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.model# 配置日志
logging:level:com.example: debug# 配置 Actuator
management:endpoints:web:exposure:include: "*"endpoint:health:show-details: always

🧪 十二、Spring Boot 實戰建議

在這里插入圖片描述

📎 十三、完整 Spring Boot 項目結構示例

src
├── main
│ ├── java
│ │ └── com.example
│ │ ├── MyApplication.java
│ │ ├── controller
│ │ │ └── UserController.java
│ │ ├── service
│ │ │ └── UserService.java
│ │ └── repository
│ │ └── UserRepository.java
│ └── resources
│ ├── application.yml
│ ├── mapper
│ │ └── UserMapper.xml
│ └── data.sql

📄 十四、Spring Boot 常見問題定位工具

在這里插入圖片描述

📌 十五、Spring Boot 常用命令行參數

在這里插入圖片描述

📚 十六、推薦學習資料

  • 《Spring 實戰》(Craig Walls)
  • 《Spring Boot 實戰》(Mark Heckler)
  • Spring 官方文檔:https://docs.spring.io/spring-- framework/docs/current/javadoc-api/
  • Spring Boot 官方文檔:https://docs.spring.io/spring-boot/docs/current/reference/html/
  • B站、慕課網、CSDN、知乎 等平臺的 Spring Boot 視頻教程

? 十七、總結:Spring 開發必會知識點

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95740.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95740.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95740.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

簡單工廠模式(Simple Factory Pattern)?? 詳解

?作者簡介&#xff1a;大家好&#xff0c;我是 Meteors., 向往著更加簡潔高效的代碼寫法與編程方式&#xff0c;持續分享Java技術內容。 &#x1f34e;個人主頁&#xff1a; Meteors.的博客 &#x1f49e;當前專欄&#xff1a; 設計模式 ?特色專欄&#xff1a; 知識分享 &…

新電腦硬盤如何分區?3個必知技巧避免“空間浪費癥”!

剛到手的新電腦&#xff0c;硬盤就像一間空蕩蕩的大倉庫&#xff0c;文件扔進去沒多久就亂成一鍋粥&#xff1f;別急&#xff0c;本文會告訴你新電腦硬盤如何分區&#xff0c;這些方法不僅可以幫你給硬盤分區&#xff0c;還可以調整/合并分區大小等。所以&#xff0c;本文的分區…

【微知】git submodule的一些用法總結(不斷更新)

文章目錄綜述要點細節如何新增一個submodule&#xff1f;如何手動.gitmodules修改首次增加一個submodule&#xff1f;git submodule init&#xff0c;init子命令依據.gitmodules.gitmodules如何命令修改某個成員以及同步&#xff1f;如果submodule需要修改分支怎么辦&#xff1…

【Spring Cloud微服務】9.一站式掌握 Seata:架構設計與 AT、TCC、Saga、XA 模式選型指南

文章目錄一、Seata 框架概述二、核心功能特性三、整體架構與三大角色1. Transaction Coordinator (TC) - 事務協調器&#xff08;Seata Server&#xff09;2. Transaction Manager (TM) - 事務管理器&#xff08;集成在客戶端&#xff09;3. Resource Manager (RM) - 資源管理器…

AI賦能!Playwright帶飛UI自動化腳本維護

80%的自動化腳本因一次改版報廢&#xff1f; 開發隨意改動ID導致腳本集體崩潰&#xff1f;背景UI自動化在敏捷開發席卷行業的今天&#xff0c;UI自動化測試深陷一個尷尬困局&#xff1a;需求迭代速度&#xff08;平均2周1次&#xff09;&#xff1e; 腳本維護速度&#xff08;平…

Redis、Zookeeper 與關系型數據庫分布式鎖方案對比及性能優化實戰指南

Redis、Zookeeper 與關系型數據庫分布式鎖方案對比及性能優化實戰指南 1. 問題背景介紹 在分布式系統中&#xff0c;多節點并發訪問共享資源時&#xff0c;如果不加鎖或加鎖不當&#xff0c;會導致數據不一致、超賣超買、競態條件等問題。常見的分布式鎖方案包括基于Redis、Zoo…

網絡安全A模塊專項練習任務十一解析

任務十一&#xff1a;IP安全協議配置任務環境說明&#xff1a; (Windows 2008)系統&#xff1a;用戶名Administrator&#xff0c;密碼Pssw0rd1.指定觸發SYN洪水攻擊保護所必須超過的TCP連接請求數閾值為5&#xff1b;使用組合鍵winR&#xff0c;輸入regedit打開注冊表編輯器&am…

金蝶中間件適配HGDB

文章目錄環境文檔用途詳細信息環境 系統平臺&#xff1a;Microsoft Windows (64-bit) 10 版本&#xff1a;5.6.5 文檔用途 本文章主要介紹金蝶中間件簡單適配HGDB。 詳細信息 一、金蝶中間件Apusic安裝與配置 1.Apusic安裝與配置 Windows和Linux下安裝部署過程相同。 &…

使用a標簽跳轉之后,會刷新一次,這個a標簽添加的樣式就會消失

<ul class"header-link"><li><a href"storeActive.html">到店活動</a></li><li><a href"fuwu.html">服務</a></li><li><a href"store.html">門店</a></l…

線程池實現及參數詳解

線程池概述 Java線程池是一種池化技術&#xff0c;用于管理和復用線程&#xff0c;減少線程創建和銷毀的開銷&#xff0c;提高系統性能。Java通過java.util.concurrent包提供了強大的線程池支持。 線程池參數詳解 1. 核心參數 // 創建線程池的完整構造函數 ThreadPoolExecu…

K8S 部署 NFS Dynamic Provisioning(動態存儲供應)

K8S 部署 NFS Dynamic Provisioning&#xff08;動態存儲供應&#xff09; 本文檔提供完整的 K8s NFS 動態存儲部署流程&#xff0c;包含命名空間創建、RBAC 權限配置、Provisioner 部署、StorageClass 創建及驗證步驟。 2. 部署步驟 2.1 創建命名空間 首先創建獨立的命名空間 …

JavaEE 進階第二期:開啟前端入門之旅(二)

專欄&#xff1a;JavaEE 進階躍遷營 個人主頁&#xff1a;手握風云 目錄 一、VS Code開發工具的搭建 1.1. 創建.html文件 1.2. 安裝插件 1.3. 快速生成代碼 二、HTML常見標簽 2.1. 換行標簽 2.2. 圖片標簽: img 2.3. 超鏈接 三、表格標簽 四、表單標簽 4.1. input標…

【RNN-LSTM-GRU】第二篇 序列模型原理深度剖析:從RNN到LSTM與GRU

本文將深入探討循環神經網絡&#xff08;RNN&#xff09;的核心原理、其面臨的長期依賴問題&#xff0c;以及兩大革命性解決方案——LSTM和GRU的門控機制&#xff0c;并通過實例和代碼幫助讀者徹底理解其工作細節。1. 引言&#xff1a;時序建模的數學本質在上一篇概述中&#x…

Qt---狀態機框架QState

QState是Qt狀態機框架&#xff08;Qt State Machine Framework&#xff09;的核心類&#xff0c;用于建模離散狀態以及狀態間的轉換邏輯&#xff0c;廣泛應用于UI交互流程、設備狀態管理、工作流控制等場景。它基于UML狀態圖規范設計&#xff0c;支持層次化狀態、并行狀態、歷史…

GitHub 熱榜項目 - 日榜(2025-09-02)

GitHub 熱榜項目 - 日榜(2025-09-02) 生成于&#xff1a;2025-09-02 統計摘要 共發現熱門項目&#xff1a;14 個 榜單類型&#xff1a;日榜 本期熱點趨勢總結 本期GitHub熱榜呈現AI Agent生態爆發趨勢&#xff0c;Koog、Activepieces等項目推動多平臺智能體開發框架成熟。語…

華為衛星對星引導技術深度解析:原理、實現與開源替代方案

利號&#xff1a;CNXXXXXX 涉及多傳感器融合/自適應波束成形/軌道預測算法一、技術原理剖析&#xff1a;衛星間高精度指向的核心挑戰在低軌衛星&#xff08;LEO&#xff09;星座中&#xff0c;衛星間鏈路&#xff08;ISL&#xff09;的建立面臨三大技術難題&#xff1a;1. 動力…

水下管道巡檢機器人結構設cad+三維圖+設計說明書

目 錄 1 緒論 1 1.1 選題的背景及意義 1 1.2 水下管道巡檢機器人的分類 2 1.2.1 管道巡檢技術的分類 2 1.2.2管道巡檢機器人的分類 2 1.3 研究的現狀 3 1.3.1 國內的研究現狀 3 1.3.2 國外的研究現狀 4 1.4 水下管道巡檢機器人的發展趨勢 5 1.…

[從零開始面試算法] (11/100) LeetCode 226. 反轉二叉樹:遞歸的“鏡像”魔法

引言 歡迎來到本系列的第十一篇&#xff01;在我們通過“最大深度”問題初步領略了樹的遞歸之美后&#xff0c;今天我們將面對一個更能體現遞歸“分治”思想的經典問題——LeetCode 226. 反轉二叉樹。 這道題在面試界的地位非同凡響&#xff0c;它因 Homebrew 的作者 Max How…

Java設計模式之創建型—建造者模式

Java中最常用的設計模式-CSDN博客 “把對象的構造步驟拆成鏈式方法&#xff0c;調用者按需填參&#xff0c;最后一次性 build&#xff0c;避免構造函數爆炸。” 經典場景 參數多&#xff08;>4 個&#xff09;且大部分可選 需要不可變對象&#xff08;final 字段&#xf…

網頁計時器,支持多計時器管理、數據分享、用戶數據同步、全屏展示等功能,可進行倒計時、正計時和顯示世界時鐘。

一個具有現代化 UI 和交互的計時器網頁應用&#xff0c;支持多計時器管理、數據分享、用戶數據同步、全屏展示等功能&#xff0c;可進行倒計時、正計時和顯示世界時鐘。它采用玻璃態設計和流暢動畫效果&#xff0c;提供極佳的視覺體驗。 特點&#xff1a; 支持多個計時器的創建…