분류 전체보기

Spring

[Spring] Mybatis

Mybatis - 쿼리문만 적으면 알아서 DB에서 데이터를 꺼내오는 프레임워크 - 거의 모든 jdbc 관련 코드를 자동으로 생성해준다. - 개발자는 사용할 쿼리문과 종류만 선택하면 된다. 필요한 의존성(dependency)들 - mybatis - mybatis-spring - spring-jdbc 적용 순서 1. DBCP로 DataSource 객체를 생성한다. 2. 생성한 DataSource 객체를 전달해 SqlSessionFactoryBean 객체를 생성한다. (컨텍스트상에 sqlSessionFactory가 있으면 mybatis가 알아서 필요할 때 가져다 사용한다.) 3. mybatis-spring:scan 기능을 통해 패키지의 위치를 지정한다. pom.xml에 mybatis 적용법 root-conte..

Spring

[Spring] Connection Pool

DBCP (Database Connection Pool) - DB로 작업을 수행할 때마다 새로운 DB 연결을 생성하는 것이 자원의 낭비가 되기 때문에 연결들을 미리 생성해두는 객체 - 커넥션풀을 사용하면 DB와의 연결을 맺고 끊는 과정이 생략되기 때문에 (대신 빌리고 반환하며 사용) 서버 성능이 크게 향상된다. - DB와의 접속이 갑자기 활발해지면 연결을 더 늘리거나 한적해지면 연결을 다시 최소한으로 유지하는 등의 기능을 제공한다. 유명한 자바 DBCP 라이브러리들 - Apache Commons DBCP - Hikari CP - ... pom.xml에 Hikari 적용하는 법 Hikari root-context.xml 설정법 (객체 생성) Hikari DB Connection 설정법 (객체 생성) pac..

Spring

[Spring] Controller

MVC 디자인 패턴 - 프로그램을 효율적으로 개발하기 위해서 코드를 3가지로 구분하여 개발을 진행하고자 하는 디자인 패턴 - 프로그램의 비즈니스 로직과 화면을 구분하는데에 초점을 맞춘 디자인 패턴 - Model, View, Controller 세 가지로 나뉜다. - Model : 데이터의 형태를 표현하기 위한 용도의 코드 - View : 사용자에게 보여지는 화면을 꾸미기 위한 용도의 코드 (html, css, js, jsp, ...) - Controller : 요청을 받으면 어떤 서비스를 거쳐 어떤 뷰로 가야할지를 결정하는 코드 @Controller - 해당 MVC 패턴 중 Controller임을 표시하는 어노테이션 - spring-context가 자동으로 수거해 알아서 사용한다. - uri + meth..

Spring

[Spring] Lombok

Lombok - 간단한 어노테이션 추가로 자바빈 스타일의 객체를 자동으로 완성해주는 라이브러리 Lombok의 어노테이션들 @Getter - 클래스 위에 붙이면 모든 필드에 대한 Getter를 자동으로 생성한다. - 필드 위에 붙이면 해당 필드에만 Getter를 생성한다. @Setter - 클래스 위에 붙이면 모든 필드에 대한 Setter를 자동으로 생성한다. - 필드 위에 붙이면 해당 필드에만 Setter를 생성한다. @ToString - 해당 클래스의 toString()을 알아서 적당히 구현해준다. @NoArgsConstructor - 기본 생성자를 생성한다. @AllArgsConstructor - 모든 필드값을 초기화해야 하는 생성자를 생성한다. @RequiredArgsConstructor - 필수로..

Spring

[Spring] Log4j

Log4j - 로그를 효율적으로 남길 수 있는 기능들이 구현되어있는 라이브러리 - 각 로그마다 등급을 설정하고 일정 등급 이상의 로그만 보이도록 설정할 수 있다. Logger - 각 클래스에 장착하면 해당 클래스에서 발생하는 로그를 수집하는 객체 - 발생하는 로그들을 등급별로 수집하여 Appender로 전송하는 역할을 한다. Appender - 수집된 로그들을 출력하는 장소 - 파일, 콘솔, DB, 웹 등으로 발생한 로그들을 출력할 수 있다. Layout - 로그를 출력하는 모양을 설정할 수 있다. Log4j loggin level (priority) - OFF : 모든 등급의 로그를 끔 - FATAL : 아주 심각한 로그를 작성할 때 사용하는 등급 (FATAL만 출력됨) - ERROR : 에러 발생 로..

Spring

[Spring] JUnit

단위 테스트 (Unit Test) - 어떤 기능을 구현한 후 해당 기능이 원하는 대로 동작하는지 보기 위해 작성하는 프로그램 - 테스트 중 가장 작은 단위의 테스트에 속한다. - 어떤 메서드를 실행했을 때 기대하던 값이 잘 나오는지 체크하는 방식으로 진행 TDD (test-driven development, 테스트 주도 개발) - 조건을 만족하는 테스트 프로그램을 먼저 작성한 후 해당 테스트를 통과하는 기능을 구현하는 방식의 개발 - 테스트 단위로 기능이 구현되기 때문에 더욱 객체지향적인 개발이 가능해진다. - 익숙하지 않으면 시간이 너무 오래걸리기 때문에 생산성이 저하된다. (생산 비용 증가) JUnit - 자바의 단위 테스트용 라이브러리 - 스프링 프로젝트 배포시 작성되어있는 모든 단위 테스트를 통과..

Spring

[Spring] 메이븐(Maven)

Maven - 자바 프로젝트를 자동으로 관리해주는 도구 - 프로젝트를 진행하면서 필연적으로 발생하는 다양한 작업들을 편리하게 관리할 수 있는 빌드 자동화 도구 ex: 라이브러리 관리 (JSTL 다운받고 등록하고..), 라이브러리 버전 관리 (다른 버전으로 다시 다운 받고.. 다시 등록하고..), 프로젝트 버전 관리 (프로젝트 업데이트하면 버전 이름 바꿔주고.. 관리하고..), 프로젝트 배포 관리 (프로젝트의 배포판 생성하기) - 프로젝트 내부의 pom.xml을 통해 전체 프로젝트를 관리할 수 있는 프로그램이다. POM (Project Object Model) - 프로젝트 객체 모델 - 해당 프로젝트에 대한 여러가지 설정 및 의존성등의 정보들을 담고 있다. pom.xml - : 이 프로젝트의 그룹 아이디 ..

Spring

[Spring] 의존성 주입

Java Bean Object (자바빈 객체) - 데이터 클래스를 만들 때 자주 사용하던 클래스의 형태를 자바빈 객체라고 한다. - 필드값(속성)의 접근 제어자는 private이어야 한다. - 필드값에 대한 접근은 Getter/Setter를 통해 이루어져야 한다. - 기본 생성자가 반드시 존재해야 한다. (다른 생성자를 쓰고싶다면 기본 생성자를 반드시 명시해줘야 한다.) - 자바빈 스타일의 객체는 다양한 프레임워크, API, 라이브러리 등에서 기본 형태로 생각하기 때문에 반드시 지켜야 한다. 스프링이 자동으로 컨텍스트에 등록하는 어노테이션들 - @Component : 컨텍스트 로드시에 스프링이 자동으로 수거해가는 대상이 된다. 컴포넌트 스캔을 통해 특정 패키지의 컴포넌트들을 수거할 수 있다. - @Con..

로아다
'분류 전체보기' 카테고리의 글 목록 (7 Page)