전체 글

안녕하세요. 고민하는 개발자가 되고 싶은 Hayden 입니다. 초보 개발자의 공부 과정을 기록하는 블로그입니다. 현재 Spring boot에 관심을 가지고 공부하고 있습니다.
·Spring/Spring Boot
스프링 부트와 MySQL 연동에 관련된 글은 이전 포스팅을 참고하자이번에는 연동한 DB를 스프링 부트 프로젝트 안에서 사용하는 방법을 정리하려고 한다.스프링 부트에서 DB를 사용하는 방식은 아래와 같은 여러가지가 있다.JDBCJDBC TemplateJPA등등요즘에는 JPA가 가장 많이 쓰이는 것 같은데, 나는 우선 SQL 쿼리 짜는걸 연습할 겸 JDBC Template을 사용하였다. JDBC Template은 JDBC에 비해 복잡한 설정 코드를 작성하지 않아도 된다는 장점이 있다.그럼 JDBC 사용 방법을 알아보자.Repository 클래스 생성 및 의존관계 설정우선 스프링 부트 프로젝트에서, DB와의 연결을 책임질 Repository 클래스를 만들어 준다.의존 관계 설정Repository안에서 JDBC..
·Spring/Spring Boot
스프링 부트에서 MySQL을 연동했던 과정을 기록하고자 한다.MySQL 설치 및 세팅, 테이블 생성 과정은 생략하도록 하겠다.의존성 추가build.gradle 파일의 dependencies안에 아래 코드를 추가해준다.// DB, MySQL implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.mysql:mysql-connector-j'나는 JDBC Template 방식을 사용하였다. 해당 의존성을 추가해준다.이후 mysql connector 의존성을 추가해준다.해당 의존관계의 경우, 이전 버전과 주소가 달라진것 같은데 이 문제로 좀 헤맸다. 🎈 Spring Boot Dependencies Vers..
·Spring/Spring Boot
스프링 부트 프로젝트를 진행하던 중 URL주소에 파라미터를 넘겨야 할 경우가 생겼다.그 방법들에 대해서 알아보겠다.1. URL 경로 중간에 파라미터 삽입(@PathVariable)말 그대로 URL 경로 중간에 파라미터를 삽입하는 방법이다.변수에 따른 하위 페이지가 존재하는 경우 사용하기 용이하다.URL 예시이 외에 ~/user/124/watches/, ~/user/125/watches/ 등등사용법@GetMapping("/user/{userId}/watches/") public String userWatchList(@PathVariable String userId, Model model){ User user = userService.findUser(userId).orElse(null); ..
·Spring/Spring Boot
웹 계층 구조)이미지출처스프링의 웹 계층은 위 그림처럼 이루어져있다.(1) Web Layer, (2)Service Layer, (3)Repository Layer 로 크게 세가지로 볼 수 있으며 각 레이어간 데이터를 공유할 때 (1)Domain(Entity), (2)DTO 를 통해 공유한다.각 계층간 흐름은 아래 그림과 같다.)이미지출처하위 계층 부터 살펴보겠다.Repository Layer레퍼지토리 계층은 내 애플리케이션과 DB간의 연동을 책임지는 부분이다.DB와의 간단한 CRUD등을 구현한다.내가 수강하고 있는 김영한 강사님의 강의에서는 구현체를 사용해서 Repository를 구성하였다. 내가 생각할 때 구현체로 레포지토리를 구현하는 장점에는 아래와 같은 것들이 있는 것 같다.프로젝트에서 사용되는 D..
·Spring/Spring Boot
스프링 빈이란?Spring에서는 Spring Container 를 통해서 객체를 관리한다.여기서 Spring Container가 관리하는 객체를 스프링 빈(Spring Bean)이라고 부른다.스프링 빈은 대개 싱글톤(Singleton) 방식으로 사용된다.🎈 싱글톤(Singleton)객체를 단 1개만 만드는 방식의 디자인 패턴개발자가 Java코드로 만든 객체들을, Spring Container에서 관리하기 위한 Spring Bean 객체라는 것을 사전에 알려줘야한다.Spring Boot에서 클래스를 스프링 빈 객체로 등록하는 방식은 두가지가 있다.@Component 어노테이션 사용@Bean 어노테이션 사용@Component 어노테이션을 사용하여 설정하기@Component 어노테이션을 사용하는 방식은 매우..
·Spring/Spring Boot
이번에는 스프링 부트에서 웹 개발을 할 때 가장 먼저 마딱트리는 웹 개발 방식들에 대하여 공부했다.스프링 부트에서 웹 개발을 할 때, 아래와 같은 세가지 방식을 주로 사용한다고 한다.✨ 정적 컨텐츠를 활용한 웹 개발✨ MVC와 템플릿 엔진을 활용한 웹 개발(템플릿 엔진: 미리 정의된 템플릿과 데이터를 엮어서, 최종적으로 보여질 화면을 만들어주는 엔진)✨ API 방식을 사용한 웹 개발그럼 아래에서 하나씩 살펴보겠다.1. 정적 컨텐츠클라이언트에게 페이지를 넘길 때, 별도의 변환 과정을 거치지 않고, 미리 저장된 문서 그대로 제공하는 방식을 의미한다.이전 포스트에서 View를 띄워 보는 과정에서, 정적 컨텐츠를 활용한 페이지 구성을 이미 한번 다루어 보았다.먼저 프로젝트의 static 폴더에 아래의 html ..
Im_Hayden
Hayden의 개발 일지