덮어쓰기 방지하기

이전 강의에서 autoConfiguration 값이 덮어 씌웠다. 이를 해결해 보자.

빈 재정의 수고 덜기

@ConfigurationProperties("holoman")
public class HolomanProperties {

	private String name;

	private int howLong;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getHowLong() {
		return howLong;
	}

	public void setHowLong(int howLong) {
		this.howLong = howLong;
	}
}
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>
@Configuration
@EnableConfigurationProperties(HolomanProperties.class)
public class HolomanConfiguration {

	@Bean
	@ConditionalOnMissingBean
	public Holoman holoman(HolomanProperties properties) {
		Holoman holoman = new Holoman();
		holoman.setHowLong(properties.getHowLong());
		holoman.setName(properties.getName());

		return holoman;
	}
}
// application.properties
holoman.name = 이제 슬슬 졸리네요.
holoman.how-long = 1000