본문 바로가기

컴퓨터

(98)
[TIL] Spring Boot(intellij) - [DB-5] JPA와 스프링 데이터 JPA * 인프런 김영한 강사님의 스프링 입문 강의 정리 6. 스프링 데이터 JPA 환경 설정은 앞 포스팅의 JPA 환경설정과 동일하다. 6-1 스프링 데이터 JPA Repository 생성 repository 폴더 하위에 SpringDataJpaMemberRepository 인터페이스를 생성한다. * 클래스 파일이 아닌 인터페이스! * 스프링 데이터 jpa를 사용하면 인터페이스만으로 구현이 가능하다..! [SpringDataJpaMemberRepository] package myStudyspring.myStudyspring.repository; import myStudyspring.myStudyspring.domain.member; import org.springframework.data.jpa.reposit..
[TIL] Spring Boot(intellij) - [DB-4] JPA와 스프링 데이터 JPA * 인프런 김영한 강사님의 스프링 입문 강의 정리 JPA 와 스프링 데이터 JAP를 학습하였다. 이전 실무에서 Mybatis로 직접 쿼리를 작성하여 db 데이터를 처리하는 프로젝트를 많이 다뤘었는데 JPA는 직접 쿼리를 작성하지 않아도 알아서 해준다니..? 내용이 너무나도 방대하다고 하지만 잠깐 살펴본 것 만으로도 새로운 세계를 본 것만 같았다. JPA(Java Persistent API) - java ORM(Object Relational Mapping) 기술에 대한 api 표준 명세를 뜻한다. - 인터페이스이므로 구현체가 필요하다. - 대표적인 구현체로 Hibernate가 있다. - 데이터 중심의 설계에서 객체 중심의 설계로 전환할 수 있다. -> 생산성을 높일 수 있다. Spring Data JPA..
[TIL] Spring Boot(intellij) - [DB-3] DB 연결 테스트 * 인프런 김영한 강사님의 스프링 입문 강의 정리 이제 DB를 연결했으니 스프링 컨테이너와 DB까지 연결한 통합 테스트를 진행해본다. 전에 진행했던 테스트는 Spring과 관련이 없는 순수한 자바코드를 가진 테스트(단위 테스트)지만 이제 DB가 연결된 상태이므로 스프링과 연결된 통합 테스트를 한다. 5. 스프링 통합 테스트 스프링 통합 테스트를 진행하기 위해 Test 디렉토리의 service 하위에 MemberServiceInTest 파일을 생성하였다. [MemberServiceInTest] package myStudyspring.myStudyspring.service; import myStudyspring.myStudyspring.domain.member; import myStudyspring.mySt..
[TIL] Spring Boot(intellij) - [DB-2] DB 연결과 JDBC * 인프런 김영한 강사님의 스프링 입문 강의 정리 데이터 베이스를 설치했으므로 이제 스프링과 연결한다. 순수 jdbc와 jdbcTemplate을 사용하는 방법을 학습하였는데 jdbcTemplate을 중심으로 정리하려고 한다. 2. build.gradle에 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 3. application.properties에 라이브러리 추가 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.d..
[TIL] Spring Boot(intellij) - [DB-1] H2 데이터베이스 설치 * 인프런 김영한 강사님의 스프링 입문 강의 정리 H2 데이터베이스를 설치하고 순수 JDBC와 JdbcTemplate을 사용하여 스프링에서 DB에 접근하는 방법을 학습하였다. 1. H2 설치하기 > https://www.h2database.com/html/download-archive.html Archive Downloads www.h2database.com H2 홈페이지에서 1.4.200 버전을 다운받는다. 다운받은 후 bin에 들어간 후 h2.bat 파일을 실행시켜 H2를 실행한다. H2가 실행되면서 다음과 같은 화면이 뜨게 된다. 이 때, H2가 정상적으로 생성되지 않는 경우가 있기 때문에 url 앞부분을 localhost로 변경한 후 시작한다. JDBC URL에 jdbc:h2:~/test 를 입력..
[TIL] Spring Boot(intellij) - 홈 화면, 회원 등록, 조회 개발 * 인프런 김영한 강사님의 스프링 입문 강의 정리 이번 강의에서는 홈화면을 추가하고 회원을 등록하고 등록된 회원 목록을 조회하는 기능까지 구현해보았다. 1. 홈 화면 추가 위의 폴더 목록에 HomeController를 생성하고 templates에 home.html을 생성하였다. [HomeController] package myStudyspring.myStudyspring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") ///도메인 pu..
[TIL] Spring Boot(intellij) - 스프링 빈과 의존 관계 * 인프런 김영한 강사님의 스프링 입문 강의 정리 회원 컨트롤러가 회원 서비스와 리포지토리를 사용할 수 있으려면 그들 사이를 엮어주는 무언가가 필요하고 이 때 사용하는 것이 바로 스프링 빈이다. 스프링 빈을 등록하는 방법은 컴포넌트 스캔과 직접 코드로 등록하는 두 가지 방법이 있다. 1. 컴포넌트 스캔 - 컴포넌트 스캔은 @Component 어노테이션이 있으면 스프링 빈으로 자동 등록된다. - @Controller, @Service, @Repository 등은 @Component를 포함하므로 스프링 빈으로 자동 등록된다. [controller] @Controller public class MemberController { ... } [service] @Service public class MemberSe..
[java] StringBuilder StringBuilder 자바의 문자열 형식은 String이다. String은 불변 객체이다. 그말인 즉슨, 두 개의 String을 + 연산할 경우 새로운 String 결과값을 생성한다. 기존의 데이터를 변경하는 것이 아니라 새로운 객체를 생성하므로 String을 가지고 연산한다면 메모리 성능이 저하될 수 있다. 이를 해결하기 위해 StringBuilder를 사용한다. StringBuilder는 String 연산 시 새로운 객체를 생성하지 않고 위와 같이 + 연산을 할 경우 기존 데이터에 더하는 방식을 사용한다. StringBuilder test = new StringBuilder(); test.append("hello"); test.append("java"); test.toString(); //hell..

728x90