Каков использование аннотации @Import?JAVA

Программисты JAVA общаются здесь
Anonymous
Каков использование аннотации @Import?

Сообщение Anonymous »

Согласно официальному документу: < /p>

Конфигурация типа аннотации < /p>
указывает на то, что класс объявляет один или несколько методов @bean и может быть обработан
contacure, чтобы создать определения боба ... < /p>
@configuration clessure. В отличие от того, как работает весной XML. Потому что
@configuration объекты управляются как пружинные бобы в
container..
< /blockquote>
Но я также могу использовать аннотацию @configuration без @import. Я протестировал код, перечисленный ниже, и он работает, как и ожидалось. Итак, какова цель использовать @Import?public class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class[] getRootConfigClasses() {
return new Class[] { WebConfig.class };
}

@Override
protected Class[] getServletConfigClasses() {
return null;
}

@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}

}

webmvcconfigureradapter
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "package.name" })
// @Import(OptionalConfig.class)
public class WebConfig extends WebMvcConfigurerAdapter {
// ...
}

optainalConfig
@Configuration
public class OptionalConfig {

@Bean(name = "myClass")
public MyClass myClass() {
return new MyClass();
}
}

service
@Service
public class MyServiceImpl implements MyService {

@Autowired
private MyClass myClass; // yes, it works

// ...
}


Подробнее здесь: https://stackoverflow.com/questions/355 ... annotation

Вернуться в «JAVA»