0816 개발일지

Yesol Lee·2022년 8월 16일
0

개발일지 - 2022

목록 보기
116/187

오늘 한 일

  • 스프링 강의 수강 및 연습코드 git push
  • 뉴스레터 작성

스프링 강의

  • 인프런 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 수강 중

1. H2 데이터베이스 설치

H2 다운로드페이지 : 1.4.200버전 설치

~/test.mv.db 파일의 위치

  • 영상에서 'HOME'이라고 하는 곳은 유저 계정의 home 디렉토리를 의미한다. C드라이브-사용자-(사용자이름) 나 같은 경우는 C:\Users\user였다.

wrong username 에러 해결

org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-214]

application.properties에 DB 접속을 위한 username, password 정보를 잘못 입력해서 발생하는 에러이다. 강의 당시에는 해당 정보가 없어도 연결이 되었는데, 그새 업데이트로 인해 반드시 필요하게 되어 다른 수강생분들도 자주 겪는 에러였다.

강의를 따라 H2 DB 설정 시 username=sa로 적고 password는 비워둔 상태인 경우를 가정한다. password는 비워뒀으니 username만 적었는데 위 에러가 발생했다. 검색해서 테스트해보니 password가 없어도 해당 코드는 적어주어야 연결이 된다.
참고 stackoverflow

# h2 데이터베이스 연결
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

2. 기존 repository DB로 변경

  • 강사님이 앞에서 설명했던 대로 구현체만 바꾸니 DB에 저장이 된다.
  • 덕분에 인터페이스의 장점을 다시 한번 더 느낀 것 같다. 예전엔 인터페이스의 개념이나 왜 사용하는지 등을 잘 몰랐는데 직접 해보니 체감이 되었다.
// SpringConfig.java
@Configuration
public class SpringConfig {
	// DB연결에 필요한 dataSource 추가
	private DataSource dataSource;
	
	@Autowired
	public SpringConfig (DataSource dataSource) {
		this.dataSource = dataSource;
	}

	@Bean
	public MemberService memberService() {
		return new MemberService(memberRepository());
	}
	
	@Bean
	public MemberRepository memberRepository() {
    	// 인터페이스 구현체만 바꾸면 바로 실행이 된다
		//return new MemoryMemberRepository();
		return new JdbcMemberRepository(dataSource);
	}
}

뉴스레터

  • 뉴스레터 기사 본문 편집
  • 행사 후기 설문조사 구글폼 생성 및 조사
  • 취합 후 pdf 표로 만들어서 링크 삽입 (개인 구글드라이브 올려서 링크 공유하는 방식이었다...!)
profile
문서화를 좋아하는 개발자

0개의 댓글