首页  

JavaConfig与常见的Annotation     所属分类 springboot 浏览量 853
SpringIOC  容器 bean 生命周期
XML配置
纯Java Annotation依赖注入框架 Guice
JavaConfig Annotation

@Configuration
@Bean
@Bean("xxx")

@ComponentScan
context:component-scan

@Import 导入配置类

@Import(MyConfiguration.class)

@ImportResource("classpath:beans.xml")


@Primary
@Bean(name = "ds1SqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("ds1DataSource") DataSource datasource) {
        
Qualifier 指定具体的bean


@Conditional
条件化配置

public interface Condition {
    boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata);
}

conditionContext.getClassLoader().loadClass("a.b.Xxx");

@ConditionalOnBean                配置了某个特定bean
@ConditionalOnMissingBean         没有配置特定的bean
@ConditionalOnClass               Classpath里有指定的类
@ConditionalOnMissingClass        Classpath里没有指定的类
@ConditionalOnExpression          给定的Spring Expression Language表达式计算结果为true
@ConditionalOnJava                Java的版本匹配特定指或者一个范围值
@ConditionalOnProperty            指定的配置属性要有一个明确的值
@ConditionalOnResource            Classpath里有指定的资源
@ConditionalOnWebApplication      Web应用程序
@ConditionalOnNotWebApplication   不是一个Web应用程序

@ConditionalOnProperty(name="server.host", havingValue="localhost")
@ConditionalOnExpression("'${server.host}'=='localhost'")


@ConfigurationProperties
@EnableConfigurationProperties
@Value

@ConfigurationProperties(prefix = "x.y.z")

@EnableConfigurationProperties
Convenient way to quickly register  ConfigurationProperties annotated beans with Spring
快速注册配置bean ,不需要加 @Component 注解


@Value("jdbc.mysql.url")
public String url;


    

springboot读取配置的几种方式 springboot常用注解和配置整理 spring常用注解 spring实战之javaconfig spring Java Config 相关注解及注意点 springboot最核心的三个注解 SpringMVC @ControllerAdvice 注解 Autowired和Resource注解的区别

上一篇     下一篇
Jackson JSON的三种处理方式

Springboot监控端点Actuator实例

SpringIoC容器要点

spring容器事件机制

SpringFactoriesLoader 简介

Springboot自动配置原理简介