
MVC : 프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법 -> 웹 시스템 개발에 자주 사용되고 있다. Model , View , Controller 1. Model - 시스템에서 비즈니스 로직 담당(시스템의 코어 부분, 시스템의 목적을 처리하는 부분) ex) 회원가입 상황 - 아이디 중복 확인 / 본인 인증 / 비밀번호 규칙 확인 2. View : 외형. 사용자 입력과 결과 출력 등 시스템에서 표현 부분을 담당하며 웹 애플리케이션에서는 주로 화면을 담당한다. 3. Controller : 서비스 처리를 담당하는 모델과 화면 표시를 담당하는 뷰를 제어하는 역할. -- 사용자가 입력한 내용을 뷰에서 받고, 받은 데이터를 기준으로 모델에 내용을 전달한다. -- 또, 모델에서 받은 데이터를 뷰에 전달해..
@RequiredArgsConstructor @NoArgsConstructor @AllArgsConstucroctor @GenerateValue(stratege = GenerationType.Auto) @GenerateValue(stratege = GenerationType.Identity) @GenerateValue(stratege = GenerationType.Table) @GenerateValue(stratege = GenerationType.Sequence) @MappedSuperClass @PathVariable @Transactional의 쓰임 @RestController @RequestBody 와 @ResponseBody 의 차이. JSON 형식과 JacKson @Column @Table @..
어노테이션의 의미 1) 주석을 의미하는 영어 포현 2) @oooooo 형태로 작성 3) 외부 소프트웨어에 필요한 처리 내용을 전달한다. 인스턴스 생성 어노테이션 - 애플리케이션 만들 때 레이어로 만드는 것이 좋다. 즉 계층화를 하라는 의미이다. 도메인 주도 설계 레이어 개요 애플리케이션 레이어 (Application Layer) 클라이언트와의 데이터 입출력을 제어하는 레이어 도메인 레이어 (Domain Layer) 애플리케이션의 중심이 되는 레이어로서 업무 처리를 수행하는 레이어 인프라스트럭처 레이어 (Infrastructure Layer) 데이터베이스에 대한 데이터 영속성(Persistence Context) 등을 담당하는 레이어 인스턴스 생성 어노테이션(주요) 어노테이션 개요 @Controller 애..

데이터베이스 : 데이터를 보관하기 위한 상자. 특정 규칙을 적용하여 데이터를 정리해서 보관한다. 보통 약칭 DB라고 부른다. 관계형 데이터베이스 : 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스. 표는 테이블이라고 부르고 테이블과 테이블 관계를 Relationship이라고 부른다. 관계형 데이터베이스는 가장 일반적으로 사용되는 데이터베이스. 보통 RDB라고 부른다. 테이블 : 데이터베이스 안에서 실제로 규칙을 가진 데이터가 저장되는 상자. 레코드와 칼럼 - 테이블의 세로 열을 칼럼(column) / 가로 행을 레코드(record)라고 한다. [테이블의 제약 조건] 제약 조건의 예 > 제약 조건 개요 NOT NULL NULL 입력을 허용하지 않는다(필수 입력)..

의존성 주입 뜯어보기 : 의존하는 부분을 외부에서 주입하는 것. -- 의존하는 부분 : "사용하는 객체" 클래스에 "사용되는 객체" 클래스가 작성된 상태 -- 외부에서의 주입 : "사용하는 객체" 클래스의 밖에서 "사용되는 객체" 인스턴스를 주입하는 것. - 지금까지는 인스턴스를 생성하는 데에 new 키워드를 사용했지만, 인스턴스 생성과 같은 작업을 프레임워크에 맡길 수 있고, 그 역할을 하는 것이 DI 컨테이너다. *스프링 프레임워크는 임의로 구현한 클래스를 인스턴스로 만들어주는 기능을 제공 => DI 컨테이너가 그 기능을 제공한다. 다섯 가지 규칙 1) 인터페이스를 이용하여 의존성을 만든다. ==> 의존하는 부분에 인터페이스를 이용한다는 것. 2) 인스턴스를 명시적으로 생성하지 않는다. ==> 인스턴..
- 이 두 가지 기능을 애플리케이션 전체에 제공함으로써 생산성/유지보수성이 높은 애플리케이션 구축을 가능하게 한다. 의존성 주입(DI) (Dependency Injection) : 의존하는 부분을 외부에서 주입하는 것 관점 지향 프로그래밍(AOP) (Aspect Oriented Programming) : 다음 두 가지 요소로 구성됨 - 중심적 관심사: 실현해야 할 기능을 나타네는 프로그램 - 횡단적 관심사: 본질적인 기능은 아니지만 품질이나 유지보수 등의 관점에서 반드시 필요한 기능을 나타내는 프로그램. (실현하는 프로그램과 별도로 부수적으로 필요한 프로그램) --ex) 예외 처리 / 로그 정보 화면이나 파일 등으로 출력 처리 / 데이터베이스의 트랜잭션 제어 등 의존성 - 사용하는 객체(A클래스), 사용..
인터페이스 : Java에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것을 말한다. - 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어진다. - 그래서 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불린다. - 인터페이스를 구현할 때는 implements 키워드를 사용한다. - 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러가 발생한다. - 인터페이스의 추상 메서드는 암묵적으로 public abstract 한정자가 붙기 때문에 구현할 때는 public을 선언해 둘 필요가 있다. @Override : 슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현..