project : gradle
spring boot version : 3.1.4
language : java
IDE : intelliJ
spring boot 관련 인강을 듣고 혼자 다시 복기하면서 프로젝트를 생성해서 만들던 중 getMapping을 해놓고 제대로 주소를 쳐서 호출했는데 찾지 못하는 현상이 발생했다.
분명 getMapping에 주소도 정확하게 작성해놨고 @RestController도 제대로 등록된 것을 확인했다.
그래서 해당 현상 관련 글들을 찾다보니 package위치가 잘못된 것을 알았다.
보면 알겠지만 application이 들어있는 main package 하위가 아니라 밖에 존재한다. 잘못 만든 줄 모르고 한참 찾다 인지해 바꾸니 패키지를 advancedAlone밑으로 옮기니 정상적으로 돌아갔다.
다른 방법으로는 아래와 같이 springboot application에 scanbasepackages위치를 잡아주는 것이다.
아니면 아래와 같이 componentscan을 작성하는 방법도 있을 것이다.
예시에서 나온 @import를 사용하는 것도 방법일 수 있을 거 같다. config의 버전을 다르게 사용하려고 basepackage 밖에 놓고 사용하는 경우가 있었는데 그런 경우 @import로 config의 위치를 잡아주었었다. 아마 밖에 놓아야하는 경우에는 그런 방법도 옵션이 될 수 있을 거 같다. 이건 되는지 몰라서 가능한 방법이라면 찾아보고 정리할 예정이다.