(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다. 1. 모든 설계의 역할과 구현을 분리하자(자동차, 공연의 예 떠올리기) 2. 애플리케이션 설계도 유연하게 변경할 수 있도록 만드는 것이 좋은 객체 지향 설계다 3. 이상적으로는 모든 설계에 인터페이스를 부여하자 (실무 고민) - 인터페이스를 도입하면 추상화라는 비용 발생 - 기능을 확장할 가능성이 없다면, 구체 클래스를 직접 사용하고 향후 꼭 필요할 때 리팩토링을 통해 인터페이스를 도입하는 것을 추천 1. 스프링이란? 1. 스프링 생태계 - 필수: 스프링 프레임워크, 스프링 부트 - 선택: 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 2. 스프링 프레임워크 1) 핵심 기..
1. 상속이란? 1. 클래스의 상속 상위 클래스(부모 클래스), 하위 클래스(자식 클래스) 라고 한다. 상위 클래스가 하위 클래스보다 일반적인 개념이고 하위 클래스는 상위 클래스보다 구체적인 클래스다. 1) 클래스 문법 상속 상속을 구현할 때는 extends 를 사용한다. 'B 클래스가 A 클래스를 상속받는다'를 코드와 그림으로 나타낸 것이다. 2. 상속을 사용하여 고객 관리 프로그램 구현하기 실습 코드는 여기서 1) Customer 클래스 구현하기(Customer.java) 모든 멤버 변수를 반드시 private으로 구현할 필요는 없다. 필요에 따라 멤버 변수나 메서드를 외부에 노출하지 않을 목적일 때 private으로 선언하다. 2) VIPCustomer 클래스 구현하기(VIPCustomer.java..
(인프런) 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 공부하고 리뷰한 글입니다. 스프링 DB 접근 기술 4가지 방식대로 차례로 진행할 예정이다. 1. 순수 JDBC 2. JDBCTemplate 3. JPA 4. 스프링 데이터 JPA 1. 환경 설정 1. build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 2. application.properties 파일에 스프링 부트 데이터베이스 연결 설정 spring.datasource.url=jdbc:h2:tcp://lo..