스프링

스프링(JAVA)

스프링 DB 접근 기술 #3 spring data jpa

jpa를 스프링에서 감싸서(?) 제공하는 기술이 있다고함 => spirng data jpa 이것을 사용하면 jpa를 사용할 때 select하는 경우들도 jpql를 사용하지 않아도 된다. ​ Info 스프링 부트와 JPA만 사용해도 개발 생산성이 증가, 개발해야할 코드도 감소. 추가적으로 스프링 데이터 JPA까지 사용하면, 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료 할 수 있다. 일반 JPA와 마찬가지로 반복적인 CRUD 기능도 스프링 데이터 JPA가 모두 제공. 따라서, 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있다. => 실무에서 관계형 데이터베이스를 사용한다면 스프링 데이터 JPA는 이제 선택이 아니라 필수! ​ 주의: 스프링 데이터 JPA는 JPA를 편리하게 사용하도록..

스프링(JAVA)

스프링 DB 접근 기술 #2 JPA

Jpa(java persistence api) ​ 장점 : 기존의 반복 코드를 줄임과 동시에 sql 쿼리도 jpa가 직접 실행해준다. ​ 객체를 jpa에 넣으면 db와 관련된 작업 수행 ​ -> sql과 데이터 중심 설계에서실제 객체 중심으로 패러다임 전환가능 ​ -> 개발 생산성 업 ​ -> 마이바티스와 비교했을 때, jpa가 압도적 사용량 ​ 스프링 프레임워크 = 거대 프레임 워크인데 ​ jpa도 스프링만큼 거대하고 깊이있다. ​ ​ - build.gradle 파일 수정 1. spring-boot-starter-data-jpa 작성 이는 내부에 jdbc 관련 라이브러리를 포함한다. 따라서 기존에 있던 jdbc는 제거해도됨. ​ 2. gradle refresh해준다 ​ - application.prop..

스프링(JAVA)

스프링 DB 접근 기술 #1 JDBC, JDBC Template

--use h2-- 이전까지 포스팅까지는 메모리에 저장하여 서버가 내려가면 데이터가 사라졌다. -> 이것을 방지하기 위해 데이터 베이스 사용 -> 심플한 H2 이용(연습용 DB라고 보면 될 것 같다) ​ h2설치 후, JDBC URL을 바꿔준다. jdbc:h2:~/test (기존 설정) 처럼 파일로 접근하는 것이 아닌, jdbc:h2:tcp://localhost/~/test로 바꿔서 웹소켓으로 디비에 접근 ​ 그리고 테이블을 하나 생성해준다. drop table if exists member CASCADE; // 여기는 지워도 됨 create table member ( id bigint generated by default as identity, // bigint = long // generated by..

스프링(JAVA)

Spring 웹mvc 간단 회원 관리 예제(홈 화면, 등록, 조회)

이번 시간에는 mvc 패턴을 이용한 간단한 예제를 알아보겠다. ​ 우선 설명의 이해를 돕기 위해 코드와 함께 알아보자. --홈 화면-- package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController{ @GetMapping("/") public String home(){ return "home"; } } 새로운 컨트롤러를 하나 만들고 루트(/)에 대해 getmapping해준다. 그리고 html파일을 하나 만들어서 간단한 화면을 보여준다.(..

스프링(JAVA)

Spring 스프링 빈과 의존관계

이번 포스팅에서는 스프링 빈이 무엇인지와 그들간의 의존성에 대해 알아보겠다. ​ 스프링 빈이란? 스프링이 돌 때, 컨트롤러 annotation을 보고 컨테이너에 넣어서 관리 = 스프링 빈이라고 함. ​ 컨트롤러가 서비스를 통해 작업을 함 = 컨트롤러가 서비스에 의존적이라고 함 코드로 표현하면, 컨트롤러는 생성자에 인자로 서비스를 받는다 => 생성자 주입(DI의 방법중 하나) 멤버 컨트롤러 생성자에 멤버 서비스를 파라미터로 받는다 -> 서비스에 의존적 ​ spring에서 의존성 주입(Dependency Injection)의 방법은 두가지가 있다. ​ 1.컴포넌트 스캔​ 사실 컨트롤러에서 서비스를 new로 생성하면 다른 컨트롤러가 멤버 서비스를 가져다 쓸 수 있다. 이걸 방지하기 위해 스프링 컨테이너에 등록..

스프링(JAVA)

Spring 회원 관리 예제 - 테스트 코드

이전 포스팅에서 다루었던 회원 리포지토리와 서비스에 대해 테스트를 작성해보겠다. 갑자기 생각난건데, 학생이라면 꼭 jetbrain 홈페이지에서 학생인증하고 인텔리제이 상위버전 사용하자..! package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; // import static org.assertj.core.api.Assertions.assertThat; // 테스트는 절대로 순서에..

beomseok99
'스프링' 태그의 글 목록