김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 듣고 정리한 내용입니다.
command + shift + T
: 해당 클래스에 있는 메소드를 선택해서 자동으로 테스트 클래스를 만들 수 있다.command + option + V
: 해당 라인 코드의 변수 추출shift + enter
: 쿼리 실행Controller
로 외부 데이터 받고,Service
로 비즈니스 로직 만들고,Repository
에서 데이터 저장하는 것이 정형화된 패턴임.DI는 구체적인 의존성을 끊기 위한 방법으로 개발자가 직접 의존성을 지정해주는 게 아니라 객체가 어떻게 생성되야 하는지 의존성을 명시적으로 지정하고, 객체 생성시에 IoC 컨테이너가 알아서 필요한 의존성을 주입하는 방법이다.
@Autowired private MemberService memberService;
private MemberService memberService;
@Autowired
public void setMemberService(MemberService memberService) {
this.memberService = memberService;
}
private final MemberService memberService;
@Autowired
public MemberController (MemberService memberService) {
this.memberService = memberService;
}
./h2.sh
로 디비 서버 실행 후 웹 콘솔에서 디비 생성이 제대로 안되고 아래와 같은 에러 메시지가 나오는 경우
Database "User/inhalin/test" not found, either pre-create it or allow remote database creation(not recommended in secure environments)
터미널에서 디비를 바로 생성해줄 수 있다.
참고: h2database tutorial - 새 디비 생성하기
~ % java -cp h2-*.jar org.h2.tools.Shell
Welcome to H2 Shell 2.1.214 (2022-06-13)
Exit with Ctrl+C
[Enter] jdbc:h2:~/test
URL
[Enter] org.h2.Driver
Driver
[Enter]
User sa
Password
Type the same password again to confirm database creation.
Password
Connected
Commands are case insensitive; SQL statements end with ';'
help or ? Display this help
list Toggle result list / stack trace mode
maxwidth Set maximum column width (default is 100)
autocommit Enable or disable autocommit
history Show the last 20 statements
quit or exit Close the connection and exit
sql> quit
Connection closed
# 디비 서버 실행하기
~ % java -cp h2*.jar org.h2.tools.Server