@Data
@NoArgsConstructor
@AllArgsConstructor
public class Animal {
private int aid;
private String aname;
private String sex;
private int feetcount;
}
@Data
@NoArgsConstructor
@ToString
@AllArgsConstructor
public class Owner {
private String name;
private Animal animal;//先有狗,后有主人
}
配置:
@Configuration
@ConditionalOnClass(Animal.class)
@EnableConfigurationProperties(AnimalProperties.class)
public class MyAnimalAutoCfg {
//下面这个构造函数一定要的
private AnimalProperties animalProperties;
public MyAnimalAutoCfg(AnimalProperties animalProperties) {
this.animalProperties = animalProperties;
}
@Bean
@ConditionalOnBean(Animal.class)//只有spring功率
@ConditionalOnProperty(name="mycfg.createowner.enabled",havingValue = "true")
public Owner createWithAnimal(Animal animal){
Owner owner=new Owner();
owner.setAnimal(animal);
owner.setName(animal.getAname()+"的主人");
return owner;
}
配置文件:
#配置owner的oname
com.wance.owner.oname=ting
mycfg.createowner.enabled=true