Spring 8

[Spring/Java/Jackson] JSON List를 문자열(String)으로 변환

문제의 발단 API 개발 중 다음과 같은 JSON을 받아와 파싱하여, 그중 JSON List 인 runningData 전체를 문자열(String)으로 저장할 필요가 생겼다. 파싱과 관련된 자세한 내용을 보고싶다면 여기를 클릭하세요! { "userId" : long(아이디번호) , "runningId" :long(아이디번호) , "duration" : int(지속시간), "runningData" : [ { "latitude" : double(경도), "longitude" : double(위도), "altitude" : double(고도), "speed": double(속도), "timestamp" : DateTime(시간) },{ … } ] } 여기서는 Java가 json을 편리하게 다룰수 있도록 도와주는..

Programming/Spring 2022.07.31

[spring/java] JSON 안의 JSON 리스트 객체로 파싱받기

문제의 발단 API 개발 중 JSON 안에 JSON 배열(리스트)를 가진 형식의 JSON을 객체로 파싱하여 저장할 필요가 생겼다. 즉, 다음과 같은 형식의 JSON 테이터를 객체로 받아와야할 필요가 생긴것 { "userId" : long(아이디번호) , "runningId" :long(아이디번호) , "duration" : int(지속시간), "runningData" : [ { "latitude" : double(경도), "longitude" : double(위도), "altitude" : double(고도), "speed": double(속도), "timestamp" : DateTime(시간) },{ … } ] } 결론부터 말하면 본인은 위의 형식에 해당하는 데이터 객체를 만들어 해결했다. 소스 코드 ..

Programming/Spring 2022.07.31

[Mac/Intellij] Spring + mariaDB 연동 프로젝트 만들기 & 환경셋팅

본 글은 마리아 디비가 설치되어 있다는 가정하에 시작합니다. brew가 설치되어있는 사용자는 아래의 명령어를 입력하고, 아닌 사람은 검색을 통해 설치해주세요 brew install mariadb 1. Spring 프로젝트 생성 본 게시글에서는 intellij의 spring initializr 플러그인을 활용할 것이다. 만약 없다면 아래의 사이트를 대신 이용하자. https://start.spring.io/ group, projct Name을 설정해주고, opnJDK 11를 선택후 Next를 눌러준다. 이후 Spring Boot DevTools, Lombok, Spring Web, Spring Data JPA, MariaDB Driver 이렇게 5가지의 dependency들을 추가해후 create를 눌러준..

Programming/Spring 2022.07.06

[Spring/스프링] 롤링페이퍼(게시판) 프로젝트 2. Repository 생성

[Spring/스프링] 롤링페이퍼(게시판) 프로젝트 1. Entity 생성] [Spring/스프링] 롤링페이퍼(게시판) 프로젝트 1. Entity 생성 https://coding-zzang.tistory.com/18 [Spring/스프링] 롤링페이퍼 프로젝트 0. 프로젝트 설명 "온라인 롤링페이퍼 사이트를 만들어볼까...?" Spring공부를 시작할때 쯔음 , 작은 프로젝트를 만들어보면 좋을 것. coding-zzang.tistory.com 전편입니다. “JPA 와 EntityManager” 본 프로젝트에서는 대표적인 ORM방식의 프레임워크인 JPA를 사용할 것이다. 우선 JPA에서 제공하는 Entity Manager에 대해 설명해보겠다 EntityManager는 entity객체들을 영속성 컨텍스트 (P..

Programming/Spring 2022.03.23

[Spring/스프링] 롤링페이퍼(게시판) 프로젝트 1. Entity 생성

https://coding-zzang.tistory.com/18 [Spring/스프링] 롤링페이퍼 프로젝트 0. 프로젝트 설명 "온라인 롤링페이퍼 사이트를 만들어볼까...?" Spring공부를 시작할때 쯔음 , 작은 프로젝트를 만들어보면 좋을 것 같아 시작한 프로젝트이다. 사실 일반 게시판과 거의 비슷하지만, 그냥 게시판보 coding-zzang.tistory.com 전편 입니다 "Entity를 정의하고 코딩해보자!" entity를 만들기 이전! 우선 관계부터 설정해보겠다. 크게 회원을 의미하는 member, 각각의 롤링페이퍼를 의미하는 paper, 그리고 댓글을 의미하는 comment 이렇게 3가지의 entity로 이루어져있다. 이때 한 회원은 1개이상의 페이퍼를 만들어 공유할수 있다 (ex. 숭실 산..

Programming/Spring 2022.03.22

[Spring/스프링] 롤링페이퍼(게시판) 프로젝트 0. 프로젝트 설명

"온라인 롤링페이퍼 사이트를 만들어볼까...?" Spring공부를 시작할때 쯔음 , 작은 프로젝트를 만들어보면 좋을 것 같아 시작한 프로젝트이다. 사실 일반 게시판과 거의 비슷하지만, 그냥 게시판보다는 조금 더 단순하다. 우선 초반에는 아~~주 간단한 기능만담아 구현해보려고 한다. 회원가입을 하여 회원이 될수 있다 회원은 나만의 롤링페이퍼를 여러개 만들 수 있다 페이퍼 리스트에서 원하는 페이퍼를 찾아 코멘트(댓글)을 남길 수 있다. 구현상의 편의를 위해 복잡한 로그인 기능은 빼둘것이다 H2 Database와 Thymeleaf 사용예정이다. "프로젝트 환경을 설정해보자!" 스프링부트 스타터를 사용하여 손쉽게 개발 전 환경설정을 해주었다. ※Spring Web / Thymeleaf / Lombok / JPA..

Programming/Spring 2022.03.22

[Spring/스프링] MVC와 템플릿엔진

MVC가 왜 필요한가요? 정적 컨텐츠를 사용하면 안되나요? 대다수의 웹 개발에서는 HTML을 그대로 주는 것이 아니라 서버에서 필요에 따라 프로그래밍 하여 동적으로 바꾸는 작업이 필요하다. 이런 작업을 원활하게 수행하기 위해서는 각각의 역할을 잘 나눌 필요가 있다. 이때 사용되는 것이 MVC! 다시 말해 정적컨텐츠는 파일을 그대로 웹브라우저로 전송하는 것이라면, MVC는 서버에서 파일을 변형하여 내려주는 방식이다. 그렇다면 MVC란? Model, View, Controller의 약자. View는 화면을 그리는 역할만 수행하고, Controller는 내부의 비지니스 로직이나 서버단의 일을 처리하며, Model은 코드내의 데이터 집합을 전달해주는 역할만을 수행한다! 이런 구조를 MVC 구조라고 부른다. he..

Programming/Spring 2022.02.26

[Spring/스프링] 정적 컨텐츠 (Static Content)

정적 컨텐츠 (Static Content)란 무엇인가요? 정적 컨텐츠는 서버에서 어떠한 동작을 하는 것이 아닌 존재하는 html 파일만 그대로 내여주는 작업을 의미한다. 원하는 html파일을 static 폴더에 넣어주면, 해당 html이 웹 브라우저에 그대로 렌더링 된다. 정적 컨텐츠 입니다. 위와 같은 hello-static.html 파일이 static 폴더에 존재한다고 가정해보자. 파일을 실행 후 웹사이트에 접속하여 개발자모드로 코드를 보자. 위에서 타이핑한 코드와 완전히 똑같다! 이처럼 단순히 html 코드를 그대로 출력 시키는 것을 정적 컨텐츠 (Static Content) 라고 부른다. 정적 컨텐츠 (Static Content)는 어떻게 동작하나요? 웹브라우저에서 요청이 들어오면 우선 내장 톰켓..

Programming/Spring 2022.02.26