작성
·
384
3
properties 파일에 datasource가 인식이 안되고 unused로 바뀌는데, 뭐가 문제인지 모르겠네요. 이거때문에 datasource가 없다고해요. html 변경시 서버재시작하기 번거로워 devtools도 추가했는데, 이것도 적용 안되네요. 뭔가 그래들 빌드가 안되는건지.. 어쩌는건지. 조언 부탁드립니다.
답변 8
2
안녕하세요. Eunna Park님^^
주신 메일보고 확인해보았습니다. 제가 직장인이어서 항상 저녁 늦은 시간에 답변을 드리는 점은 이해를 부탁드릴께요^^
1. application.properties에서 다음과 같이 왼쪽이 회색으로 나오는 것
이것은 인텔리J 커뮤니티(무료) 버전이어서 편의 기능이 빠진 것입니다. 실제 동작하는데는 아무런 문제가 없습니다^^!
엔터프라이즈(유료)버전에서는 왼쪽의 프로퍼티를 누르면 관련된 소스코드로 자동으로 이동하지만 이것은 단순히 편의 기능입니다. 동작하는데 영향을 주지 않습니다.
2. 실행을 해보니 No DataSource specified 라는 오류가 발생합니다.
이 문제는 확인을 해보니 주신 코드에서 다음 부분에 문제가 있었습니다.
@Configuration
public class SpringConfig {
private DataSource dataSource; //주입을 안해서 null
@Bean
public MemberService memberService(){
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository(){
//return new MemoryMemberRepository();
//여기에 dataSource가 없으므로 null 입력
return new JdbcMemberRepository(dataSource);
}
}
메뉴얼처럼 다음과 같이 생성자를 추가하도록 수정하면 됩니다^^
@Configuration
public class SpringConfig {
private DataSource dataSource;
public SpringConfig(DataSource dataSource) {
this.dataSource = dataSource;
}
스프링은 생성자가 딱 1개 있으면 여기에 의존관계를 주입해줍니다. 그러니까 스프링이 만든 DataSource가 입력되는 것이지요.
앞의 코드에는 생성자가 없어서 dataSource에 아무런 값을 넣지 못했습니다.
도움이 되셨길 바래요^^!
1
0
0
0
0
0
0