springboot分析——自定义启动类
在实际开发过程中,如果有一些公共功能,我们可以单独封装,然后配置成starter启动类,其他的项目需要使用时,主要
只要依赖开启就可以了。下面我们自定义一个自动配置启动类。
一:自定义启动类
在工程的resources/META-INF目录下,创建一个spring.factoris,添加如下配置:

自动配置类StudyAutoConfig:
@Configuration
@ConditionalOnClass(PersonConfig.class)
@EnableConfigurationProperties({PersonConfigProperties.class})
public class StudyAutoConfig {
@Autowired
private PersonConfigProperties personConfigProperties;
@Bean
@ConditionalOnMissingBean
public PersonConfig personConfig(){
PersonConfig personConfig = new PersonConfig();
personConfig.setId(personConfigProperties.getId());
personConfig.setName(personConfigProperties.getName());
return personConfig;
}
}
@Data
@ConfigurationProperties(prefix = "person")
public class PersonConfigProperties {
private String id;
private String name;
}
person.id=111 person.name=study
启动服务,使用页面调用测试:

自定义condition

public class MyCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return false;
}
}
如果返回false,personConfig实例化就会失败,如果为true,则实例化成功。

浙公网安备 33010602011771号