인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

highjune님의 프로필 이미지
highjune

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

스프링 부트의 자동 리소스 등록

설정파일 못 찾는 에러

해결된 질문

작성

·

504

·

수정됨

2

안녕하세요 좋은 강의 감사합니다.

 ('스프링 부트의 자동 리소스 등록' 강의)

강의의 뒷부분에서 application.properties에

설정을 다 한 후에 테스트를 돌리면

와 같은 에러가 뜹니다.

코드는 아래와 같이 재확인했구요.

그래서 설정파일을 설정을 변경해봤습니다.

우측 상단의 edit configurations.. 에서 원래대로 비워두고 설정한 후에,

메인컨테이너는 아래 같이 잘 뜨는데 테스트는 실패합니다.

아래 (local) 설정을 하고 설정파일도(application-dev.properties)로 하고 dataSource내용 다 기입후 설정을 아래같이 해도 안됩니다.

설정파일을 못 찾아서 dataSource 를 주입 못 받는 것 같습니다.

application.properties에 first.name=hi 라고 한 후

테스트에서

@Value(value = "${first.name}")

private String name;

 

후에 name을 찍어봐도 null로 게속 나옵니다.

답변 2

0

highjune님의 프로필 이미지
highjune
질문자

제공되는 프로젝트 코드로는 잘 동작합니다.

제 코드랑 완전 다 일치하구요

그런데 한가지 다른점은 프로젝트 구조가 다르긴 합니다. 한 프로젝트에 다른 강의들(DB접근기술 2번 강의와 같이 넣고 싶어서)을 넣고 설정파일로 구분을 하고 싶어서요.

코드는 완벽히 일치한데, 테스트코드에서 main 프로젝트 밑의 설정파일을 어떻게 구분할 수 있을까요?

application-local.properties 를 만들어서

MemberServiceV3_4Test 클래스 위에 @ActiveProfiles(profiles="local") 로도 했는데 잘 안됩니다.

코드는 https://github.com/Highjune/springboot-all 여기에 있습니다.

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SpringbootAllApplication {

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

}

exclude 속성을 지우고 확인해주세요

@SpringBootApplication
public class SpringbootAllApplication {

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

}

image

지우고 실행하여 정상작동 확인하였습니다.

highjune님의 프로필 이미지
highjune
질문자

아하....저걸 놓쳤었네요 ㅎㅎ;;

정말 감사드립니다 ㅠㅠ

0

안녕하세요. highjune님, 공식 서포터즈 OMG입니다.
.

어떠한 이유로 안되는지 본문 내용만으로는 잘 모르겠습니다.

강의에서 제공해드리는 프로젝트 코드로 확인해보시겠어요?

확인 후 결과를 알려주시면 문제 파악에 큰 도움이 될 것 같습니다.
.
감사합니다.

highjune님의 프로필 이미지
highjune

작성한 질문수

질문하기