在實際開發過程中,如果有一些公共功能,我們可以單獨封裝,然后配置成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,則實例化成功。
