Spring/Spring 이론 10

Spring 이론 + SIA 그룹스터디(2장) :) Spring에서 사용하는 Template의 종류와 WAR, JAR에 따른 Template 채택

👨‍👨‍👦‍👦 SpringInAction Group Study [이채민, 권태구, 최재호, 곽현기, 김은철] group - GIT : https://github.com/euncheol-kim/SpringInActionGroupStudy GitHub - euncheol-kim/SpringInActionGroupStudy: SpringInAction 스터디 저장소입니다. SpringInAction 스터디 저장소입니다. Contribute to euncheol-kim/SpringInActionGroupStudy development by creating an account on GitHub. github.com 이채민 님 : https://github.com/CokeLee777 권태구 님 : https://g..

spring 이론 :) Jar(java Archive)와 War(Web Application Archive)

goal war, jar의 차이점과 특징 참고자료 [Java] JAR WAR 차이점 및 특징 ( + EAR ), https://ifuwanna.tistory.com/224, IfUWanna JAR와 WAR의 공통점 두 파일 모두 Archive파일이다. Archive파일이란 우리가 자주 접해본 zip파일과 같다고 생각해도 무방하다. jar와 war를 사용하는 목적으로는 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이다. 1. JAR (Java Archive) Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어있다. 쉽게 자바 프로젝트를 압축한 파일로 생각하자 jar파일은 플랫폼에 귀속되는 것만 제외하면 zip파일과 동일한 구조 JAR..

Spring + java 이론 :) SOLID원칙, 객체지향 설계 5원칙 **백번천번만번십만번 보기**

goal 객체지향 설계 원칙 (객체지향 설계 5원칙)의 SOLID원칙을 이해한다. 1 ] 객체지향 설계의 5원칙, SOLID원칙 명칭 번역 SRP (The Single Responsibility Principle) 단일 책임 원칙 OCP (The Open Closed Principle) 개방 폐쇄 원칙 LSP (The Liskov Substitution Principle) 리스코프 치환 원칙 ISP (The Interface Segregation Principle) 인터페이스 분리 원칙 DIP (The Dependency Inversion Principle) 의존관계 역전 원칙 1. SRP (단일 책임 원칙) [1] 개념 모든 클래스는 하나의 책임만 가지며, 그 책임을 완전히 캡슐화해야 함을 말함 클래스..

Spring 이론 :) Spring Web Layer, DAO, DTO

goal DAO, DTO, 스프링 웹 계층에 대해서 이해한다. DTO 각 계층간의 데이터를 교환하기 위한 Java Object 데이터를 레이어 간에 전달하는 목적을 가지며 객체의 속성과, getter, setter만 가지고 있다. DAO(Data Access Object) DB에 접근하는 객체 즉, DB에 접근하여 DB의 데이터에 접근한다. (DB의 데이터에 접근하는 객체) 1 ] Spring Web Layer (스프링 웹 레이어) 계 층 설 명 Web Layer (Presentation Layer) - 브라우저상의 웹 클라이언트의 요청 및 응답을 처리한다. - Service Layer, Repository Layer의 Exception을 처리한다. @Controller 어노테이션을 사용하여 작성된 Co..

Spring 이론 :) Spring Container, Spring 핵심 프로그래밍 모델 3가지, Spring API가 제공하는 것과 특징

goal Spring Container, Spring 핵심 프로그래밍 모델 3가지, Spring API 1 ] Spring 1. Spring Container Spring Container 또는 Spring Context 라고 불린다. 스프링 런타임 엔진이다. 설정정보를 참고해서 애플리케이션을 구성하는 object를 생성 및 관리한다. 2. Spring 핵심 프로그래밍 모델 3가지 기 술 설 명 IoC / DI object의 생명주기와 의존관계에 대한 프로그래밍 모델이다. - IoC / DI는 객체지향 설계 원칙과 디자인 패턴의 핵심원리를 근간으로 함고 있다. - 스프링을 바르게 이해하고 효율적으로 사용하는데 기본이 되며 중요한 기술이다. 서비스 추상화 서비스 추상화 기술 덕분에 종속되지 않고 독립적인 ..

Spring + java 이론 :) 의존성 주입의 의미와 개선 코드

goal 의존성 주입 (Dependency Injection)을 이해한다. 1 ] 의존성의 의미 1. 개발을 하다보면 의존성이 생겨나기 마련이다. class Programmer { private Coffee coffee; public Programmer() { this.coffee = new Coffee(); } public startProgramming() { this.coffee.drink(); } } 위 코드와 같이 Programmer 클래스에서 startProgramming 함수가 호출되기 위해서는 Coffee 클래스를 필요로 한다. 이것을 Programmer 클래스는 Coffee 클래스의 의존성을 가진다. 라고 말한다. 2. 위의 코드의 문제점 - 위의 코드처럼 설계할 경우, 코드의 재활용성이 ..

Spring 이론 :) Spring Data JPA를 시작하기 전에 간단한 데이터베이스 개념 - 데이터의 무결성

Goal RDBMS의 무결성(Integrity)에 대해서 이해한다. 1 ] 데이터의 무결성 데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다. 데이터의 무결성은 DBMS에서 관리하며 중요한 기능이다. 1. 데이터 무결성의 종류 종류 내용 개체 무결성 (Entity integrity) 모든 테이블은 primary key로 선택된 필드(column)를 가져야한다. - primary key로 선택된 필드는 고유한 값을 가져야한다. - primary key는 null값을 허용하지 않는다. 참조 무결성 (Referential integrity) 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것을 말한다. - 참조되는 테이블의 행을 참조하는 참조키가 존재하는 한 ..

Spring 이론 :) Spring Data JPA를 시작하기 전에 간단한 데이터베이스 개념 - DDL, DML, DCL을 이해한다.

Goal DDL, DML, DCL를 이해한다. Spring JPA인데 갑자기 DBMS 관련 내용을 학습하는 이유 Spring의 JPA를 공부하다보면 application.properties를 설정하는 부분이 나온다. 이곳에 기입하는 부분에 있어서 spring.jpa.hibernate.ddl-auto를 설정하게 되는 경우가 생기는데 알아본 결과 Spring JPA에서 Hibernate를 이용해서 DDL을 생성하여 Data Table을 자동으로 생성하는 것을 돕는다고 한다. 뒷부분에서 기록하겠지만 DDL은 Data Defination Language의 약자로써 데이터베이스의 테이블의 생성, 변경, 삭제를 담당하는 명령어이다. 이외에 DML, DCL이 존재하는데 JPA를 다루는데 있어서 중요한 부분임을 직감하..

Spring 이론 :) Spring Data JPA를 시작하기 전에 간단한 데이터베이스 개념 - Entity, Attribute, Domain

goal Database의 간단한 용어를 이해한다 a) Entity, Attribute, Domain 1 ] Database의 Entity, Attribute, Domain Database 간단 개념 내 용 Entity 테이블 그 자체를 의미한다. - 테잉블은 업무에 필요, 데이터를 저장 및 관리한다. Attribute 테이블의 column을 의미한다. - column은 데이터의 속성을 가진다. Domain Attribuute의 값, 타입, 제약사항등에 대한 값의 범위

Spring 이론:) MVC패턴이란?

Goal MVC패턴의 이해 1. MVC패턴의 이해 Model, View, Controller Spring은 MVC 패턴을 사용한다. [1] MVC패턴, 왜 사용하는가? 사용자 인터페이스, 비즈니스 로직, 제어를 분리한 독립적 애플리케이션을 만들 수 있다. 출처 : https://emongfactory.tistory.com/121 MVC 컴포넌트 내용 Model 컴포넌트 데이터를 다루는 역할 - 데이터 저장소(Database)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룸 View 컴포넌트 모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만듦 - 생성된 화면은 웹 브라우저가 출력 - 뷰 컴포넌트는 HTML, CSS, JS를 사용하여 웹 브라우저가 출력할 UI를 ..