SPRING

SPRING

JDBC

JDBC(Java Database Connectivity) 자바 애플리케이션에서 DB 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스 표준 인터페이스이기 때문에 DBMS 종류에 상관이 없다. JDBC 인터페이스들을 구현한 구현체들은 각 데이터베이스 벤더사들이 제공 자바 코드에서는 보통 JDBC 인터페이스에만 의존하기 때문에 DB를 변경하더라도 코드를 변경할 필요가 없다. DBCP(Database Connection Pool) 미리 일정량의 DB 커넥션을 생성해서 Pool에 저장해 두고 있다가 HTTP 요청에 따라 필요할 때 Pool에서 커넥션을 가져다 사용하는 기법 참고로 스프링 부프 2.0 부터는 디폴트 커넥션 풀로 HikariCP 사용 라이브러리 종류로는 HikariCP, Apache Common..

SPRING

Servlet

Servlet 인터페이스 호출규약 서블릿 컨테이너(톰캣)가 서블릿 인터페이스에 있는 메소드들을 호출함 서블릿 생명주기(life cycle)와 관련된 메소드 init() : 서블릿 컨테이너가 서블릿 생성 후 초기화 작업을 위해 호출 service() : 클라이언트 요청이 들어올 때마다 서블릿 컨테이너가 호출 destroy() : 서블릿 컨테이너가 종료될 때 호출 서블릿 기타 메소드 getServletConfig() : 서블릿 초기 설정 정보를 담고 있는 객체를 반환하는 메소드, 해당 객체를 통해 서블릿 이름과 서블릿 초기 매개 변수 값 등을 얻을 수 있다. getServletInfo() : 서블릿을 작성한 사람, 서블릿 버전, 저작권과 같은 서블릿 정보를 반환하는 메소드 Spring을 이용해서 개발 진행 ..

SPRING

음식점에서 음식 주문 Project_MenuItem

자바 공부를 하면서 스프링 실습을 진행중인데 마침 오늘 실습했던 음식 주문 과정 구현하는 부분에서 객체의 같고 다름을 판단하는 부분이 나와서 연계해서 작성해 보았습니다. 해당 프로젝트는 다음과 같은 요구사항이 있습니다. 음식 주문 project의 설계 및 요구사항 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민 손님, 메뉴판, 메뉴, 요리사, 요리 객체들 간의 관계를 고민 손님 -- 메뉴판 손님 -- 요리사 요리사 -- 요리 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기 손님 -- 손님 타입 요리 -- 요리 타입 메뉴판 -- 메뉴판 타입 메뉴 -- 메뉴 타입 협력을 설계 객체들을 포괄하는 타입에 적절한 책임을 할당 구현하기 MenuTest 메뉴판에서 메뉴이름에 해당하는 메뉴를 반환한다...

SPRING

Test code

테스트 코드를 작성하는 이유 문서화 역할 코드에 결함을 발견하기 위해 리팩톨이 시 안정성 확보 테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 의존도를 가진 설계가 가능 테스트 코드 프레임워크&라이브러리 Java 단위 테스트 프레임워크 JUnit5 : 가장 많이 사용 인텔리제이에서 프로젝트 생성시 기본 포함되어 있다. 공식문서 https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5 JUnit 5 User Guide Although the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runne..

SPRING

도커(docker)설치 후 MySQL에 접속하는 방법

아오 역시나 개발환경 설정이 제일 시간 오래걸리는 것.... 도커(docker) 설치 1. https://www.docker.com/products/docker-desktop/접속해서 OS에 맞는 Docker Desktop을 설치 → 재부팅필요 Download Docker Desktop | Docker Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today! www.docker.com 2. 도커 설치 여부 확인하기 : 명령프롬프트(cmd)에서 아래 명령어 입력 docker -v 3. 정상적으로 설치가 됐다면 MySQL 도커 이미지 다운받기 ..

SPRING

도커(docker)란?

컨테이너 기반의 가상화 vs 하이퍼바이저 기반의 가상화(OS 가상화) 하이퍼바이저 기반의 가상화 격리된 환경에서 또 하나의 가상 서버를 실행하는 기술 Guest OS : 가상 서버를 의미 다양한 OS 선택 가능 Guest OS에서 실행되는 매플리케이션이 Host 자원을 사용하기 위해서는 반드시 Guest OS를 거쳐야만 한다. → 속도적인 측면에서 상대적으로 느릴 수 있다. Hypervisor : Guest 와 Host 를 연결 서버가상화 기술로서 Host server에 설치되고 Host와 Guest를 나누는 역할을 하며 각각의 Guest는 Hypervisor에 의해 관리되며 시스템 자원을 할당받게 된다 Host : 물리 서버를 의미 컨테이너 기반의 가상화 격리된 환경에서 프로세스를 실행하는 기술 애플리..

SPRING

View 환경설정 (spring-boot-devtools)

build.gradle에 spring-boot-devtools 라이브러리를 추가하면 html파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다. Application 실행 시 restartedMain으로 나오면 devtools가 제대로 설치된 것이다. 이후 수정사항이 발생하면 Application 재실행할 필요 없이 Build → Recompile을 실행하고 페이지 새로고침을 하면 수정사항이 반영된 것을 확인할 수 있다.

SPRING

VO & DAO & DTO란 무엇인가

스프링을 공부하면서 용어가 헷갈리는 경우가 많은데 복습하면서 확실히 정리해두기 위해서 포스팅을 했습니다. VO(Value Object) 혹은 엔티티(Entity) 객체지향 프로그램에서는 데이터를 '객체'라는 단위로 처리한다. ex) 테이블의 한 행(row) → 하나의 객체 엔티티(Entity) : 데이터베이스에서의 하나의 데이터 VO(Value Object) : 값을 보관하는 용도(객체), 테이블의 한 행 개념 자바에서는 엔티티를 처리하기 위해 테이블과 유사한 구조의 클래스를 만들어서 객체로 처리하는 방식을 사용한다. 주로 데이터 자체만을 의미하기 때문에 getter만을 이용한다. DAO(Data Access Object) DAO(Data Access Object) : 데이터를 전문적으로 처리하는 객체,..

작은달팽이
'SPRING' 카테고리의 글 목록