인프런 김영한님의 강의를 듣다 보면, 명령어를 실행할 때 마다 화면 아래에서 단축키에 대한 정보가 표시됨을 알 수 있다. 해당 기능은 인텔리제이 내의 플러그인을 설치하면 가능하다. Settings -> Plugin 에서 Key Promoter X 를 검색한다. 설치하고 재시작하면 알림이 나오는데, 아래 사진처럼 오른쪽 아래에 알림창이 나오는 것이 기본 설정이다. 강의에 나오는 것 처럼 화면 중앙에 이쁘게 표시되는 것을 원하면, Settings -> Plugins -> Presentation Assistant 검색 후 설치한다. 해당 플러그인을 설치하게 되면, 이와 같이 화면 하단에 초록 배경으로 이쁘게 볼 수 있다!.
김영한님의 스프링부트의 입문 강의 중 "순수 JDBC" 에 관한 내용을 듣다 보면, SpringConfig 파일에 DataSource 에 관한 내용을 추가하는 내용이 있다. 강의에서 알려주시는 대로 진행했는데도, localhost:8080 에 접속해보면 도메인 화면은 들어가지지만 members 화면은 WhiteLabel Error 페이지가 뜬다. 오류를 확인해보려 인텔리제이를 들어가보면, 이와 같이 "org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password" 가 나온다. 이는 스프링부트 2.4 이후 버전부터는 데이터베이스에 커넥션을 추가할 때 username을 반드시 알려주어야 하기 때문에 생기는 오류이다. 이를 해..
스프링 빈과 의존관계 1. 컴포넌트 스캔과 자동 의존관계(DI, Dependency Injection) 설정 @ Controller 라는 annotation 이 있으면, 스프링이 시작될때 객체가 생성되면서 관리대상이 됨. @ Autowired : spring 컨테이너에 있는 memberservice 를 가져다가 씀 annotationd으로 @Service, @Repository 걸어놓으면, 해당 클래스와 spring container 를 연결시켜줌. 정형화된 패턴 - controller : 컨트롤러를 통해 외부 요청을 받고, - service : 서비스에서 비즈니스 로직을 만들고, - repository : 리포지토리에서 데이터를 저장함. @Autowired를 통 의존관계를 설정하는 것이 중요. (Mem..
스프링 입문 - 회원 관리 예제 1. 비즈니스 요구사항 정리 - 데이터는 회원의 id / 이름 - 기능은 회원 등록 및 조회 - 데이터 저장소 db가 선정되지 않았을 경우를 가정. (성능이 중요한 db로 할지, 일반적인 관계형 데이터베이스로 할지, NoSQL로 할지 ,,) - 일반적인 웹 애플리케이션의 계층 구조 - 컨트롤러 Controller : 웹 MVC 에서의 컨트롤러 역할 - 서비스 Services : 도메인을 가지고 핵심 비즈니스 로직 구현 ( ex. 회원은 중복 가입이 안된다... 등등) - 리포지토리 Repository : DB에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인 Domain : 비즈니스 도메인 객체 (ex. 회원, 주문, 쿠폰 등등 db 에 저장되고 관리됨. ) - 데이..
인프런 김영한님 강의 - 스프링 입문 중 스프링 웹 개발 기초, 회원 관리 예제 수강 정적 컨텐츠, MVC, API 에 대한 기본적인 개념, 클라이언트에게 데이터를 전달하는 과정 이해 - 정적 컨텐츠 : 파일을 그대로 내려준다. - MVC와 템플릿 엔진 : model / view / controller 로 쪼개진 상태에서, view에서 템플릿 엔진을 사용해 렌더링된 html 을 클라이언트에게 전달 - API : 보통 객체를 반환, HttpMessageConverter를 통해 String 혹은 객체는 json 파일을 전달, View 이런거 없음
인텔리제이를 처음 설치하고 사용하다 보면, 입력하는 코드 창에서 usage 힌트가 생성된다. (최근 업데이트 된 IntelliJ에서 usage 힌트 보기가 기본으로 설정되어 있는 듯) 해당 기능을 비활성화 하는 방법은, Settings -> Editor -> Inlay Hints 에서 Code Vision 내의 Usage 항목 체크박스를 해제해주면 된다. (Disable IntelliJ Settings -> Editor -> Inlay Hint -> Code Vision -> Usage )