第一輪核心知識
面試官:請解釋Spring Boot中自動配置的工作原理并演示如何自定義一個@ConfigurationProperties組件?
xbhog:自動配置通過EnableAutoConfiguration
注解觸發,結合當前環境判斷(如是否檢測到MyBatis依賴)和條件注解(@ConditionalOnClass)來決定是否啟用配置類。若需自定義配置,可通過創建帶@ConfigurationProperties("my.properties.prefix")
的POJO類,并在配置類中標記@EnableConfigurationProperties
實現。例如配置數據庫連接池:
my.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
面試官:優秀!現在請你描述Kafka Producer實現消息分區的策略邏輯和常見自定義分區場景
xbhog:默認分區器采用RangePartitioner
(Kafka 0.11+)按輪詢或key哈希分配,業務場景中若需要按用戶ID分區可實現Partitioner
接口,重寫partition()方法。例如電商訂單系統按用戶維度做分區:
public int partition(String topic, Object key, by