목록전체 글 (173)
그저 내가 되었고
Dependency, 의존관계란? “A가 B를 의존한다.”는 표현은 어떤 의미일까. 토비의 스프링에서는 다음과 같이 정의한다. 의존대상 B가 변하면, 그것이 A에 영향을 미친다. - 이일민, 토비의 스프링 3.1, 에이콘(2012), p113 즉, B의 기능이 추가 또는 변경되거나 형식이 바뀌면 그 영향이 A에 미친다. Dependency Injection은? 의존관계를 외부에서 결정하고 주입하는 것이 DI(의존관계 주입)이다. 토비의 스프링에서는 다음의 세 가지 조건을 충족하는 작업을 의존관계 주입이라 말한다. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스만 의존하고 있어야 한다. 런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제3의 존재가 결정한다. ..
접근 제어자 (Access Modifier) = 클래스, 변수, 메서드의 접근 권한 정의 키워드. public: 모든 접근 허용 protected: 같은 패키지(폴더) 내 객체와 상속 관계의 객체들만 허용 default: 같은 패키지(폴더) 내 객체들만 허용 private: 같은 클래스 내에서만 허용 일반적으로 많이 쓰이는 건 public, private이다. 클래스 (Class) = 객체를 찍어낼 수 있는 틀. 메서드 (Method) = 클래스 내부에 정의된 함수. = 특정 작업을 하기 위한 명령문의 집합. 자바가 실행되면 main() 메서드를 제일 먼저 찾아 그 안의 것들을 순차적으로 실행하기 때문에 다른 메서드를 만들고 싶다면 main() 메서드 안에서 호출해야 한다. Static 변수나 메서드가 ..
LOMBOK Constructor Injection @NoArgsConstructor 파라미터가 없는 기본 생성자를 생성(기본 생성자) @AllArgsConstructor 모든 필드 값을 파라미터로 받는 생성자를 만듦(모든 필드의 생성자) @RequiredArgsConstructor final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만듦(필수 생성자) @NoArgsConstructor @NoArgsConstructor public class BookWithLombok { private Long id; private String isbn; private String name; private String author; } public class BookWithOutLombok { privat..
개인 공부 정리용 틀린 정보 있을 확률이 적지 않습니다 ❨❨설계 순서❩❩ entity -> dto -> repo -> service -> controller ❨❨계층 설계 예시❩❩ 1. Repository - Product: 관심 상품 테이블(얘만 db에 저장됨) - ProductRepository: 관심 상품 조회, 저장 - ProductRequestDto: 관심 상품 등록하기 - ProductMypriceRequestDto: 관심 가격 변경하기 - ItemDto: 검색 결과 주고받기 2. Service - ProuctService: 관심 상품 가격 변경 3. Controller - ProductRestController: 관심 상품 컨트롤러 - SearchRequestController: 검색 관련 ..
이 글은 이미 절찬리에 가동중인 DB의 테이블 컬럼 타입 변경을 기준으로 작성한 것입니다.(즉, 혹시라도 만에 하나라도 DB를 절!!!!!!대로 날려먹을 수 없다는 대전제 존재)*** 또한 기존 데이터 유실 방지를 위해 컬럼의 크기는 애당초 늘릴수만 있습니다. 만약 프로젝트 시작 단계에서 한참 스펙을 수정중일때는 그냥ddl-auto를 create나 create-drop으로 해두고 바로바로 DB 날려가며 수정하면 됩니다.(이 때는 아래처럼 Column 애노테이션에 속성 붙여주면 되며, ddl-auto update에서는 동작하지 않아서 create-drop으로 적용해야 합니다.) @Column(columnDefinition = "LONGTEXT") 1. 이미 한참 가동중인 DB 테이블의 컬럼 타입을 ..