Spring Boot 15

AI 검증 비즈니스 프로젝트

프로젝트 개요이번 프로젝트는 스파르타코딩클럽에서 진행하는 첫번째 팀 프로젝트로 OO의 민족과 같은 주문 관리 플랫폼을개발해보는 팀 프로젝트를 진행하게 되었다. 개발을 진행하기에 앞서 어떻게 진행할 것이지 간단하게 정리할 예정이다. 1. API 명세서2. 데이터베이스 테이블 3. ERD 다이어그램ERD 다이어그램 자세히 보기!!4. 인프라 아키텍쳐

Spring Boot 2024.08.23

SpringBoot - AOP (2)

AOP (1)에 이어서 두번째 AOP시간이다. 우선 오늘 처음으로 공부한 내용은 메소드의 실행시간을 가지고 서버의 부하, 서버의 현재 상태를 로깅으로 남길 수 있기 때문에 로깅을 남기는 실습을 먼저 진행하겠다. 하지만 이번엔 단순하게 AOP만 만드는 것이 아니라 커스텀 된 annotation을 하나 만들어서 해당 annotation을 가지고 annotation이 설정된 메소드만 기록을 할 수 있도록 실습을 진행하였다. @Around를 활용해 반복되는 logic을 AOP로 따로 빼네서 반복하지 않고 관리하고 실행할 수 있도록 하는 실습을 진행하였다. 우선 aop패키지에 TimerAop.java파일을 생성해 준다. 이어서 annotation패키지를 생성해 주고 Timer.java파일로 Timer annota..

Spring Boot/AOP 2023.05.01

SpringBoot - AOP (1)

AOP ( Aspect Oriented Programming) 관점지향 프로그램 스프링 어플리케이션은 대부분 특별한 경우를 제외 하고는 MVC 웹 어플리케이션에서는 Web Layer, Business Layer, Data Layer로 정의한다. - Web Layer : REST API를 제공하며, Client 중심의 로직 적용 - Business Layer : 내부 정책에 따른 logic를 개발하며, 주로 해당 부분을 개발 - Data Layer : 데이터 베이스 및 외부와의 연동을 처리 주요 Annotation Annotation 의미 @Aspect 자바에서 널리 사용하는 AOP프레임워크에 포함되며, AOP를 정의하는 Class에 할당 @Pointcut 기능을 어디에 적용시킬지, 메소드? Annotat..

Spring Boot/AOP 2023.05.01

ArrayList를 이용한 DB코딩

오늘 공부한 내용은 나만의 맛집 리스트 프로젝트를 진행하기 위해 필요한 데이터베이스를 mySQL과 같이 데이터베이스 관리 시스템을 사용하지 않고 ArrayList를 이용해 JPA를 흉내내는 데이터베이스를 사용하였다. ​ MemoryDbEntity.java package com.example.restaurant.db; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @Data public class MemoryDbEntity { protected int index; } MemoryDbRepositoryAbstract.java pac..

naver-api 연동하기

오늘 배운 내용은 naver-api를 이용하여 나만의 맛집 리스트를 작성하는 프로젝트를 하기에 앞서 naver-api연동에 대해 공부하였다. 우선 검색창에 naver open api를 검색한 후 네이버 개발자센터 홈페이지에 접속한다. 원하는 api에 대해 활용신청을 한 후 간단하게 api를 사용할 수 있다. 본격적으로 코딩하기에 앞서 Talend api tester 프로그램을 사용하여 다음과 같이 테스트를 진행할 수 있다. naver-api에서 제공해주는 json 링크를 적용하고 query를 작성해준다. 그리고 HEADERS부분에 api홈페이지에서 받은 클라이언트 아이디와 암호를 작성해주면 된다. 작성한 후에 Send로 호출을 하면 다음과 같이 성공한 화면을 확인할 수 있다. 아래 사진의 예는 naver..

IoC, DI

오늘 공부한 내용은 IoC와 DI에 대해서 공부하였다. 우선 IoC와 DI에 대해 간략하게 설명한 후에 실습한 내용을 작성하겠다. ​ IoC - 스프링에서는 일반적인 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에 모두 맡긴다. 즉 개발자에서 → 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음 으로 “제어의 역전” 이라고 한다. DI - IoC는 개발자가 객체를 관리하는 것이 아니기 때문에 개발자는 어떻게 객체를 사용하여야 하는지 문제이다. 개발자가 Spring Container의 객체를 사용하기 위해 외부로 부터 주입을 하는것이 DI라고 할 수 있다. ​ DI의 장점으로는 총 4가지가 있다. 의존성으로 부터 격리시켜 코드 테스트에 용이하다. DI를 통하여..

Spring Boot 2023.04.22

Object Mapper에 모범사례 실습

정보처리산업기사 공부를 하고 시험을 보고 오랜만에 다시 Spring으로 돌아왔다!! 시험 결과에 대해서는 그냥 그렇지만 결과가 나와야 정확하게 알거같다... 암튼!! 결과가 나오기 전까지는 Spring에 집중을 하고 공부를 할 수 있을거같다!! 그럼 오늘 공부한 내용을 작성해보겠다 ​ 오늘 배운 내용은 마지막 시간에 이어서 Spring_Boot중에서 Object Mapper에 모범사례에 대해 실습을 하고 스프링 핵심에 대해 간략하게 공부하였다. 우선 Object Mapper에 모범사례에 대해 작성하겠다. ​ ObjectMapperApplicationTests package com.example.objectmapper; import com.fasterxml.jackson.core.JsonProcessing..

Spring Boot 2023.04.22

PUT, DELETE, Response내려주기 실습

오늘 공부한 내용은 저번시간에 이어서 put방식과 delete방식, Response내려주기에 대해 실습해 보았다. 우선 put방식에 대해 작성해보겠다. 우선 저번시간에 계속 보던 사진을 가져오겠다. PutApiController package com.example.put; import com.example.put.dto.PostRequestDto; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springfra..

Spring Boot 2023.04.22

GET(QueryParame ter), POST

오늘배운 내용은 저번시간에 배운 GET방식의 PathVariable 실습에 이어서 오늘은 GET방식의 QueryParame ter메소드에 대해 실습하고 POST방식의 메소드도 실습해보았다. 우선 GET방식의 PathVariable에 대해 설명하겠다. ​ GET방식의 QueryParame ter GET방식의 QueryParame ter에는 총 3가지 방법이 있다. 첫번째 방법은 Map을 이용하여 매핑하는 방법 package com.example.hello.controller; import com.example.hello.dto.UserRequest; import org.apache.catalina.User; import org.springframework.web.bind.annotation.*; impor..

Spring Boot 2023.04.22

GET API 실습

오늘 공부한 내용은 Spring_Boot에 대해 공부하였다. 오늘부터는 Spring에 대해서 쭉 공부할 예정이다. 오늘 공부한 내용에 대해 설명하겠다. 오늘은Spring_Boot에 대해 공부하였고 GET API에 대해서 실습을 하였다. ​ Spring_Boot Spring_Boot는 단순히 실행되며 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. Spring Boot 어플리케이션에는 Spring 구성이 거의 필요 하지 않다. Spring Boot java -jar 로 실행하는 Java 어플리케이션을 만들 수 있다. ​ 주요목표 Spring 개발에 대해 빠르고 광범위하게 적용할 수 있는 환경 기본값 설정이 있지만 설정을 바꿀 수 있다. 대규모 프로젝트에 공통적인 비 기능 제공 (보안,..

Spring Boot 2023.04.22