본문 바로가기

컴퓨터/Spring Boot

(25)
[TIL] Spring Boot(intellij) - start2 (스프링 핵심 원리 정리) 인프런 김영한 강사님의 스프링 입문 강의를 듣고 핵심 원리 기본편 강의를 듣기 시작했다. 입문 강의를 베이스로 하여 더 깊게 스프링에 대해 공부해보고자 한다. 강의를 들으며 그냥 받아들이는 것 뿐만 아니라 왜 이렇게 코드를 짜는지에 대해 고민해보며 공부한 내용을 바탕으로 차근차근 정리해나가려고 한다. 완강할 때까지 화이팅!
[TIL] Spring Boot(intellij) - AOP 1. AOP란? - AOP(Aspect-Oriented Programming)는 부가 기능을 모듈화하여 재사용할 수 있도록 지원함으로써 핵심 로직과 부가기능을 분리할 수 있게 하는 기능이다. - 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) - 공통 기능이 하나의 장소에서 관리되기 때문에 유지 보수에 용이하다. ex) 모니터링, 로깅, 동기화, 오류 처리, 성능 최적화 등 2. memberService에서 회원 조회 시간 측정 로직 추가 [memberService] public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMembe..
[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..

728x90