Spring
  • MongoDB Atlas 설정 https://devfunny.tistory.com/850 [MongoDB] MongoDB Altas Free버전 Compass 사용하기 1) monggoDB 사이트 접속 https://account.mongodb.com/account/login?signedOut=true Cloud: MongoDB Cloud account.mongodb.com 2) 회원가입 후 로그인시, 접속되는 화면 3) create a database ■ [Build a Database] ■ [Create] ■ [Create Cluste devfunny.tistory.com MongoDB Atlas 연동 1) [Connect] 클릭 2) [Drivers] 선택 3) [Driver], [Version] ..

    Read more
  • 트랜잭션 관리자 스프링 프레임워크에서는 트랜잭션 적용을 비교적 쉽게 구현하도록 도와주는 기능이 있다. 예시로, 트랜잭션 관리를 위한 코드를 비즈니스 로직에서 분리하기 위한 구조나 다른 트랜잭션을 투명하게 처리할 수 있게 하는 API 등이 있다. 스프링 트랜잭션 처리의 중심 인터페이스는 PlatformTransactionManager 이다. 이 인터페이스는 트랜잭션 처리에 필요한 API를 제공하며 개발자가 API를 호출하는 것으로 트랜잭션을 수행할 수 있다. PlatformTransactionManager는 트랜잭션 관리의 구현 방식을 추상화하기 위한 인터페이스이기 때문에 개발자는 서로 다른 종류의 트랜잭션을 사용하더라도 각각의 차이점을 의식할 필요 없이 같은 API로 조작할 수 있다. public int..

    Read more
  • 오류상황 SpringBoot3.1.2 버전 프로젝트에 Swagger를 적용하려고한다. https://devfunny.tistory.com/692 SpringBoot + SpringSecurity 프로젝트에 Swagger 3.0 적용하기 이전 버전 Swagger 2.0 적용 방법 https://devfunny.tistory.com/313 SpringBoot에 Swagger을 빠르게 적용해보기 Swagger 요즘 백엔드 개발은 ModelAndView 방식보다는 API 위주의 어플리케이션을 권장하고 있다. API 개발 devfunny.tistory.com ▶ 이전에 Swagger3.0을 적용하고 남겨둔 포스팅이 있어서 참고했지만 아래와 같은 오류를 만나게된다. Type javax.servlet.http.Htt..

    Read more
  • DispatcherServlet 서블릿 컨테이너의 가장 앞단에서 들어오는 모든 요청을 먼저 받아, 적합한 컨트롤러에 위임해주는 프론트 컨트롤러다. dispatch "보내다" 라는 뜻 클라이언트로부터 어떤 요청이 오면, 서블릿 컨테이너가 이 요청을 받게되고, 이 요청을 프론트 컨트롤러인 DispatcherServlet이 받아서 해당 요청을 처리할 컨트롤러(Bean)을 getBean() 메서드로 받아와서 요청에 적합한 컨트롤러의 메서드를 실행시킨다. Spring : web.xml 을 통한 매핑 web.xml Hello_servlet Hello.Hello_servlet // servlet class Hello_servlet /Hello SpringBoot : 자동 구성 SpringBoot는 아래 spring-..

    Read more
  • 마이바티스(Mybatis) SQL과 자바 객체를 매핑하는 사상에서 개발된 데이터베이스 접근용 프레임워크다. 마이바티스는 SQL 기반으로 데이터베이스 접근을 수행하는 기존 방법을 받아들이고, 규모가 큰 애플리케이션 개발에서 발생하는 과제를 해결하는 구조를 제공한다. Mybatis는 자체 Connection Pool을 가지며, 환경에 따라 사용할 DB를 설정하여 사용한다. 마이바티스 등장 애플리케이션의 규모가 커지면서 SQL이 수백개가 넘는 경우가 많아졌다. SQL 자체의 체계적인 관리 방법이나 SQL의 입출력 데이터와 자바 객체의 효율적인 변환 방법 등 스프링의 기능만으로는 해결할 수 없는 과제가 발생했다. 마이바티스 이점 SQL의 체계적인 관리, 선언적 정의(설정 파일, 어노테이션) 자바 객체와 SQL ..

    Read more
  • 1) gradle 설치 brew install gradle 2) pom.xml 경로로 이동 3) gradle init gradle init --type pom 완료된 모습 4) Gradle Build 5) Maven 관련 파일 일괄 삭제 6) 프로젝트 정상 수행 확인

    Read more
  • 들어가기전 Redis는 docker를 사용하여 설치한다. https://devfunny.tistory.com/424 docker로 redis 설치 (with docker-compose) Redis 이미지 설치 docker pull redis docker-compose 파일 생성 version: '3.0' services: redis1: image: redis command: redis-server --requirepass root --port 6379 restart: always ports: - 6379:6379 doc.. devfunny.tistory.com redis 의존성 추가 implementation 'org.redisson:redisson-spring-boot-starter:3.17.7' Se..

    Read more
  • SpringBoot + Maven 프로젝트 생성 초기 셋팅 - 의존성 ▶ pom.xml org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true com.h2database h2 runtime org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.restdocs spring-restdocs-mockmvc test 문서 작성을 위한 API 개발 ▶ UserController package com.maven.restapidocs.controll..

    Read more
  • 들어가며 API를 개발할때 API별로 파라미터 validation 체크를 해야한다. validation 체크를 하는 방법은 여러가지로 많겠지만, Spring Boot Starter Validation을 사용해서 여러가지 방법을 적용해보자. 의존성 추가 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation pom.xml org.springframework.boot spring-boot-starter-validation build.gradle implementation 'org.springframework.boot:spring-boot-starter-validation' // validation 예제..

    Read more
  • 이전 버전 Swagger 2.0 적용 방법 https://devfunny.tistory.com/313 SpringBoot에 Swagger을 빠르게 적용해보기 Swagger 요즘 백엔드 개발은 ModelAndView 방식보다는 API 위주의 어플리케이션을 권장하고 있다. API 개발이 많아짐에 따라, 프로젝트 안의 API를 관리할 수 있는 문서가 필요해졌다. API 문서를 만들 devfunny.tistory.com Swagger 3.0 적용 1) build.gradle implementation 'io.springfox:springfox-boot-starter:3.0.0' 2) SwaggerConfig.java package com.api.shop.config; import org.springframewo..

    Read more
  • SpringBoot Project 1. build.gradle runtimeOnly 'org.postgresql:postgresql' 2. application.yml spring: # Postgres Database datasource: url: jdbc:postgresql://localhost:5432/devplan username: plan password: plan driver-class-name: org.postgresql.Driver # JPA jpa: hibernate: ddl-auto: create # 자동으로 테이블 생성 (drop -> create) properties: hibernate: format_sql: true Mac 터미널로 Postgresql 설치 1) 터미널에서 postg..

    Read more
  • 신규 파일 생성 MemberController.java package com.api.westmall.controller; import com.api.westmall.common.CommonResponse; import com.api.westmall.form.MemberForm; import com.api.westmall.service.MemberService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotatio..

    Read more
  • Mac Local Mysql 설치 Mac 터미널 명령어 // 최신 업데이트 brew update // 설치 brew install mysql // mysql 설치 버전 확인 mysql --version // mysql server 시작 mysql.server start // 접속 mysql -uroot -p // 비번 설정 없음 엔터 Mysql 접속 후 데이터베이스 생성 // 데이터베이스 생성 create database westmalldb // 계정 생성 전 설정 CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; // 계정 생성 create user 'westmal..

    Read more
  • 공통 Response ResponseDto.java package com.api.westmall.common; import lombok.Builder; import lombok.Getter; import lombok.Setter; @Getter @Setter @Builder public class ResponseDto { private int status; private String message; private T body; } CommonResponse.java package com.api.westmall.common; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springfr..

    Read more
  • lombok DTO, Entity, Form 등 사용시에 필수가 된 lombok의 어노테이션을 선언함으로써 생성되는 코드들을 자세하게 알아보자. build.gradle 의존성 추가 compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' testCompileOnly 'org.projectlombok:lombok:1.18.22' testAnnotationProcessor 'org.projectlombok:lombok:1.18.22' TestDto.java 파일 public class TestDto { @NonNull private String name; private String e..

    Read more
  • Copyright 2024. GRAVITY all rights reserved