java的 import注解_java – @Import注释的用例是什么?

Annotation Type Configuration

Indicates that a class declares one or more @Bean methods and may be

processed by the Spring container to generate bean definitions…

@Configuration classes may be composed using the @Import annotation,

not unlike the way that works in Spring XML. Because

@Configuration objects are managed as Spring beans within the

container..

但我也可以在没有@Import的情况下使用@Configuration注释.我已经测试了下面列出的代码,它按预期工作.那么使用@Import的目的是什么?

DispatcherServletInitializer

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 {

// ...

}

OptionalConfig

@Configuration

public class OptionalConfig {

@Bean(name = "myClass")

public MyClass myClass() {

return new MyClass();

}

}

服务

@Service

public class MyServiceImpl implements MyService {

@Autowired

private MyClass myClass; // yes,it works

// ...

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值