Junior — Middle
87
Spring-те @Conditional аннотациясының әртүрлі түрлері туралы айта аласыз ба?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Spring-да @Conditional аннотациясы қосымшаның контекстінде шартты түрде бинов құру үшін пайдаланылады. Ол белгілі бір шарттарға байланысты компоненттерді қосу немесе өшіруге мүмкіндік береді. Негізгі түрлері мен қолдану нұсқалары:
-
@Conditional— негізгі аннотация, олConditionинтерфейсін жүзеге асыратын класс қабылдайды. Бұл класта бин қай кезде құрылады деген логика сипатталады. -
@Conditionalнегізінде жасалған арнайы аннотациялар:@ConditionalOnProperty— егер конфигурацияда белгілі бір қасиет орнатылса, бин құрылады.@ConditionalOnClass— егер classpath-та көрсетілген класс болса, бин құрылады.@ConditionalOnMissingBean— егер контекстте белгілі бір типтегі бин болмаса, құрылады.@ConditionalOnBean— егер контекстте белгілі бір типтегі бин бар болса, құрылады.@ConditionalOnExpression— егер SpEL өрнегі true қайтарса, құрылады.
@ConditionalOnProperty қолдану мысалы:
@Configuration
public class MyConfig {
@Bean
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public MyService myService() {
return new MyService();
}
}
Осылайша, @Conditional және оның туындылары қосымшаның конфигурациясын ортасына, класс бар-жоғына, қасиеттерге және басқа шарттарға байланысты икемді басқаруға мүмкіндік береді.