전체 글 29

Spring Boot 간단 예제로 시작하기 3 (MVC- 1)

먼저 MVC 패턴에 대해서 설명하자면 Model, View, Controller로 이루어진 소프트웨어 디자인 패턴이다. 애플리케이션의 기능을 구분함으로, 정돈된 개발을 가능하게 한다. 먼저 Controller를 만들어보자 java코드는 모두 java -> com.example.demo 밑에다 둬야한다. Controller 패키지롤 생성하고 그 밑에 indexController를 만들어보자 패키지가 꼭 필요하지 않지만 나중에 클래스가 많아지면 유지보수와 가독성이 높아진다. package com.example.demo.Controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotatio..

Spring Boot 간단 예제로 시작하기 2 (yml 설정 및 h2 db)

application.poperties -> application.yml 로 변경해주세요 (Rename 단축키 shift + F6) server: port: 8090 # Spring boot Server port spring: h2: console: enabled: true # H2 웹 콘솔을 사용하겠다는 의미 path: /test_db # 콘솔의 경로 datasource: driver-class-name: org.h2.Driver #h2 드라이버 설정 url: jdbc:h2:file:~/Devjyp/test_db #접속 URL username: test # 사용자 이름 (로그인 시 사용) password: # 사용자 암호 (로그인 시 사용) jpa: open-in-view: false #JPA를 잘 알..

Spring Boot 간단 예제로 시작하기 1 (기본설정)

스프링을 처음 접한분들에게 간단한 예제를 통해 어떤 방식으로 동작하는지 알려드리고자 글을 작성하게 되었습니다! Spring-Boot란 기존의 Spring으로 웹개발을 하는데 필요한 초반에 많은 기초설정들을 다 해주어서 개발로직만 신경쓰도록 도움을 줍니다. Spring-Boot의 초기 설정을 도와주는 페이지를 스프링 사이트에서 제공해주고 있습니다. https://start.spring.io/ Project 빌드 툴은 Maven, Gradle이 있는데 아무거나 상관없지만 요즘추세가 Gradle로 많이 바뀌어서 Gradle로 해주겠습니다. 1. 의존성 추가 Spring Web - 웹개발의 기본요소인 MVC, 내장 tomcat을 가지고있어서 tomcat을 따로 설치 할 필요가 없습니다! Spring Data J..

Spring-boot JPA @ManyToMany 실무에서 사용하면 안되는 이유

Infrean에서 JPA 관련 활용수업을 듣던중 @ManyToMany라는 어노테이션을 마주친 적이 있다. 도메인 모델은 다음과 같다. 카테고리는 여러개의 상품들과 매핑되고 상품은 여러개의 카테고리를 가질 수 있으므로 @ManyToMany를 사용하는 예제이다. @ManyToMany 는 편리한 것 같지만, 중간 테이블( CATEGORY_ITEM )에 컬럼을 추가할 수 없고, 세밀하게 쿼리를 실행하기 어렵기 때문에 실무에서 사용하기에는 한계가 있다. 중간 엔티티( CategoryItem 를 만들고 @ManyToOne , @OneToMany 로 매핑해서 사용하자. 정리하면 다대다 매핑을 일대다, 다대일 매핑으로 풀어 내서 사용하자.