본문 바로가기
Java/Spring

Service에서 Argument 사용하기

by lms0806 2024. 8. 7.
728x90
반응형

Spring boot의 main을 통해 argument를 입력받는 경우가 발생할 수 있습니다.

public class Main {
	public static void main(String[] args){
    	SpringApplication.run(SpringBootBoilerPlateApplication.class, args);
    }
}

이럴 경우 args를 입력받고 시작하는데, 해당 args를 활용하는 함수를 필요로 하는 경우가 발생합니다.

 

public class Main {
	public static void main(String[] args){
    	// args를 필요로 하는 경우
    	SpringApplication.run(SpringBootBoilerPlateApplication.class, args);
    }
}

그런 경우 main 함수에서 사용하거나, main 클래스의 다른 함수에서 args를 인자로 받아 활용하는 방식으로 구현하게 됩니다.

" Main 함수는 간단하게 그저 실행하는 역할만 수행하는게 맞다"라는 생각을 하게 되었습니다.

그러면 args를 활용하는 경우에는 다른 class를 호출하여 사용해야 하냐?

Spring boot에서는 ApplicationArguments라는 것을 활용해 다른 class에서 활용할 수 있게 해줍니다.

 

@Service
public class SystemService {
	public SystemService(ApplicationArguments args){
    	// args 활용
    }
}

이런식으로 Main함수를 통해 Spring boot가 실행되면서 Service가 실행될 때, ApplicationArguments를 통해 main에서 받은 args를 받아와 처리할 수 있게 해줍니다.

 

https://docs.spring.io/spring-boot/api/java/org/springframework/boot/ApplicationArguments.html

 

ApplicationArguments (Spring Boot 3.3.2 API)

Return whether the set of option arguments parsed from the arguments contains an option with the given name.

docs.spring.io

 

728x90
반응형

'Java > Spring' 카테고리의 다른 글

Spring boot에서의 logback 설정  (0) 2024.08.05
예외 처리 방법  (0) 2024.07.07
Http Method의 종류와 사용법  (0) 2022.03.15
스프링의 실행 순서  (0) 2022.03.11
Springboot + React.js를 쓸 경우  (0) 2021.11.16

댓글