프로젝트를 두개로 쪼갤 수 있다.

구현 방법

  1. 의존성 추가
<dependencies>
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-autoconfigure</artifactId>
  </dependency>
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-autoconfigure-processor</artifactId>
      <optional>true</optional>
  </dependency>
</dependencies>

<dependencyManagement>
  <dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-dependencies</artifactId>
          <version>2.0.3.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
      </dependency>
  </dependencies>
</dependencyManagement>
  1. @Configuration 파일 작성
public class Holoman {

	String name;

	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;
	}

	@Override
	public String toString() {
		return "Holoman{" +
				"name='" + name + '\\'' +
				", howLong=" + howLong +
				'}';
	}
}
@Configuration
public class HolomanConfiguration {

	@Bean
	public Holoman holoman() {
		Holoman holoman = new Holoman();
		holoman.setHowLong(5);
		holoman.setName("Keesun");

		return holoman;
	}
}
  1. src/main/resource/META-INF에 spring.factories 파일 만들기

  2. spring.factories 안에 자동 설정 파일 추가

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\
FQCN,\\
FQCN
  1. mvn install

다른 프로젝트에서 사용하기

pom.xml 의존성 추가

<dependency>
    <groupId>me.cmlee</groupId>
    <artifactId>cmlee-springboot-starter</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
@Component
public class HolomanRunner implements ApplicationRunner {

	@Autowired
	Holoman holoman;

	@Override
	public void run(ApplicationArguments args) throws Exception {
		System.out.println(holoman);
	}
}

만약 override 하게 된다면?