Sobes.tech
Junior — Middle

Ինչ ազդեցություն կունենա @Bean նշանագրի օգտագործումը դասի ներսում մեթոդի վրա այդ դասի օրինակին:

sobes.tech AI

Պատասխան AI-ից

Spring Framework-ի @Bean նշումը օգտագործվում է մեթոդը սահմանելու համար, որը ստեղծում և վերադարձնում է օբյեկտ, որը կառավարվում է Spring կոնտեյներով որպես bean:

Եթե @Bean նշված մեթոդը գտնվում է այն դասի ներսում, որը ինքն է Spring-ի կոմպոնենտ (օրինակ, նշված է @Configuration-ով), ապա Spring-ը այդ դասի օրինակ ստեղծելիս կկոչի այդ մեթոդը և գրանցի վերադարձվող օբյեկտը որպես bean կոնտեքստում:

@Bean-ի օգտագործման հետևանքները մեթոդի վրա.

  • Մեթոդը կանչվում է մեկ անգամ (եթե scope-ը չի փոխվել), և արդյունքը պահվում է որպես singleton bean:
  • Հնարավոր է հստակ կոնֆիգուրացնել և ստեղծել bean-եր, որոնք չեն կարող ավտոմատ հայտնաբերվել սկանավորման միջոցով:
  • Հնարավոր է կառավարել կախվածությունները և կոնֆիգուրացիան Java կոդով:

Օրինակ:

@Configuration
public class AppConfig {

    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

Այս օրինակով, myService-ը գրանցվում է որպես bean և կարող է ներդրվել այլ կոմպոնենտներում։