ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

🧠 Π’Ρ€ΡŽΠΊ с @Configuration ΠΈ @ComponentScan: ΠΊΠ°ΠΊ Π½Π΅ ΡΠ»ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π³ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Spring Bo...

🧠 Π’Ρ€ΡŽΠΊ с @Configuration ΠΈ @ComponentScan: ΠΊΠ°ΠΊ Π½Π΅ ΡΠ»ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π³ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Spring Boot 3+ Когда Π²Ρ‹ выноситС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ создаётС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с @Configuration-классами β€” Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅: πŸ“Œ Spring Boot 3+ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ НЕ сканируСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π²Π½Π΅ стартового (main). ΠŸΡ€ΠΈΠΌΠ΅Ρ€: // Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ @Configuration public class MyLibConfig { @Bean public MyService myService() { return new MyService(); } } И Π²Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅: @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } πŸ”₯ Но MyService Π½Π΅ создаётся! ΠŸΠΎΡ‡Π΅ΠΌΡƒ? πŸ’‘ ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ @ComponentScan ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сканируСт Π’ΠžΠ›Π¬ΠšΠž package Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса ΠΈ Π½ΠΈΠΆΠ΅. πŸ“Œ РСшСния: 1. Π ΡƒΡ‡Π½ΠΎΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: @SpringBootApplication @Import(MyLibConfig.class) public class App { ... } 2. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ @AutoConfiguration ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· spring.factories ΠΈΠ»ΠΈ META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports β€” Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. 3. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ MyLibConfig Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚ стартового класса (Π½Π΅ всСгда Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ). ⚠️ Часто Π±Π°Π³ проявляСтся нСявно: контСкст стартуСт, Π½ΠΎ Π±ΠΈΠ½Ρ‹ "Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ", ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ NoSuchBeanDefinitionException Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅. βœ… ПослС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Spring Boot 3+ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ. ОсобСнно, Ссли Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ "магичСски". πŸ‘‰ @BookJava

555 просмотров

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

1Β 612 подписчиков Β· Наука

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «Наука»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.