首页   快速返回

spring Java Config 相关注解及注意点     所属分类 spring
@Configuration 配置类
AnnotationConfigApplicationContext 注册加载配置类

@ComponentScan
组件扫描 默认扫描配置所在包
String[] value() default {};
String[] basePackages() default {};
Class[] basePackageClasses() default {};
boolean lazyInit() default false;

@Bean
@Bean(name="xxx")


配置类的一些限制
Configuration problem: @Bean method 'user' must not be private or final
@Bean 注解方法不能为 private 或 final 
可以为静态方法

Configuration problem: @Configuration class 'Config' may not be final.
配置类不能为final 


@Configuration("config")
为配置类指定名字, 可以在 上下文中获取该bean 

Config config = (Config)ctx.getBean("config");
System.out.println(config.getClass());

class spring5.Config$$EnhancerBySpringCGLIB$$86789b06

配置类使用 CGLIB 增强 , final  类 和 方法 无法通过继承增强

为了防止配置类被误用 
可以声明为 abstract 或者把方法声明为 protected , 防止被外部 调用

上一篇     下一篇
注解组合和继承

spring-boot-starter-parent的作用

spring5实例之AnnotationConfigApplicationContext使用

logback pattern 配置

java8的方法区

Hadoop不行了吗