내가 구현하고 있던 흡연장은, 공공데이터 포털에서 로드 후 db에 저장해주는 기능을 구현하고 있었다.
하지만 생각해보니, 굳이 이 기능을 api화해서 url을 통한 접근보다는 스프링부트 실행 시 자동으로 db에 저장해주고 싶었다. api화를 해놓는다면 사용자 부주의로 같은 api를 여러번 호출해서 같은 데이터가 중복되어 저장될 가능성도 높았기 때문이다.
우선 컨트롤러와 서비스의 모든 코드를 삭제해주고, ApiLoader
라는 클래스를 만들어주어서 ApplicationRunner
를 상속받게 하고, 오버라이드 된 run()
을 통해서 스프링부트 실행시 자동으로 내가 원하는 메소드들을 실행할 수 있도록 해주었다.