본문 바로가기

Java/spring boot with JPA

(6)
CORS Cross-Origin Resource Sharing 이란 다른 출처의 자원을 공유할 수 있도록 설정하는 권한 체제입니다. Same Origin 이란 Same Origin이란 Sheme, Host, Port 넘버를 체크하여 이가 일치하는것을 의미합니다. Same Origin이 아닐경우 정보 접근에 제한을 두는 것을 SOP(Same Origin Policy)라 합니다. 현상 Angular 와 Spring boot로 개발하던 도중 아래와 같은 에러가 발생하였습니다. 이를 해결하는 방법을 살펴보겠습니다. 1. Spring에서 CORS는 HTTP Header를 통해 요청하는 도메인의 출처를 확인하고 허용하는 방식으로 진행합니다. 이때 설정해야하는 부분은 크게 두부분입니다. 1) WebSecurityConfigu..
Optional Java 8버전에서 도입된 Optional에 대해 살펴보겠습니다. 공식 문서에 따르면 반환값이 '없음'을 나타내는 것이 주목적인 라이브러리입니다. orElse() 또한 orElseThrow() 를 사용하여 객체에 값이 없을 경우 이를 처리해주는 방식으로 사용해야합니다. Optional은 필드에 사용할 목적으로 만들어진 것이 아니기 때문에 Optional은 필드로 사용하지 않아야 합니다. orElse Optional 객체가 비어있는 것과 무관하게 반드시 실행됩니다. orElseGet Optional 객체가 비어있으면 실행합니다. 기본 값을 주고자 할 때 사용합니다. orElseThrow Optional 객체가 비어있다면 예외를 던집니다. Java8에서는 매개변수가 필요했지만 Java10에서는 매개변수가 필..
Mapper, Dependency Maven Dependency 에 대해 작성해보겠습니다. mvnrepository.com/ Maven Repository: Search/Browse/Explore The JWebSwing implementation for Angular Pretty Checkboxes Last Release on Nov 2, 2020 mvnrepository.com modelMapper 는 도메인 값과 DTO의 mapping을 자동으로 해주는 역할입니다. 1. Mapper mapstruct.org/ MapStruct – Java bean mappings, the easy way! Java bean mappings, the easy way! Get started Download mapstruct.org 기존에는 JPA En..
Spring boot Spring boot 는 제품수준의 Spring 기반 어플리케이션을 보다 쉽고 빠르게 만들수 있게 도와줍니다. 3rd party library 를 비롯한 스프링에 대한 설정들도 제공해줍니다. 대표적으로 내장 서버가 있습니다. XML 설정도 더 이상 하지 않습니다. code generation도 하지 않습니다. 이런 장점으로 더 customizing 하기가 쉽습니다. Spring boot 는 java8 이상부터 사용가능합니다. 보다 자세한 설명은 spring 공식 사이트를 참고해주세요 :) docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot Reference Documentation The reference documentation co..
spring boot & JPA 프로젝트 생성 (JDBC는?) 기존에는 JDBC를 통해 Database의 데이터를 조작하곤 했습니다. 여기서 JDBC란 JAVA 언어와 Database를 이어주는 라이브러리입니다. java 에서 JDBC 를 사용하고 싶다면 dependency를 이용하면 됩니다. 하지만, 보다 객체지향적이며 코드 재사용이 가능한 방법이 있습니다 바로 ORM을 이용하는 것인데요. hibernate, jpa와 같은 ORM은 자바 객체를 sql 데이터 베이스의 테이블에 자동으로 영속화 해주는 기술입니다. JPA 프로젝트 셋팅 sts 를 이용해서 spring boot를 사용하겠습니다. dependency 설정 dependency 를 설정해주고 나면, 이제 annotation을 설정해줍니다. annotation설정 post라는 테이블에서 annotation 설..
AWS 에 Spring boot project 배포하기 오늘은 github 에 올라가있는 개인 project를 aws 에 배포를 해보겠습니다. 우선 aws 서버에 git을 설치합니다. sudo yum install -y git 그런다음 github의 본인 project의 주소를 clone해옵니다. git clone을 통해 서버에 붙여넣습니다. git clone [본인 project 주소] 깃에서 코드를 가져왔지만 아직 build를 해준 상태는 아닙니다. 저는 maven을 이용했기 때문에 maven을 이용해서 build를 해줍니다. 제 AWS서버에는 아직 maven이 설치되어 있지 않아서 maven 설치 먼저 진행했습니다. Mavan 설치 명령어 sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven..