spring

· Spring
⚡ 개요 spring boot 2.x 버전에 대한 지원이 이번년도를 기점으로 종료가 된다. 이에 따라 새로 나온 3.x 버전으로 내부 프로젝트를 변경을 진행을 해야될거 같아서 라이브러리의 충돌을 방지하기 위해서 신규 프로젝트로 종속성 및 설정등을 진행하고 기존 프로젝트에 적용을 하려고 했으나 시작 부터 에러가 발생한다... ⚡ 이슈 및 설정 관련 내용 정리 spring boot 3.x 버전에 대해서 공식 페이지에 나와있는 설명 및 추가적으로 바뀐 부분에 대해서 확인을 했었지만... 까먹고 설정을 하다가 이슈를 확인 하고 수정을 했다. 검색을 해보니 해당 문제를 접하는 개발자 분들이 많은거 같아서 정리를 해보려고 한다. 📚 개발 스텍 Kotlin JAVA 17 Spring boot 3.1.4 Gradle ..
· Spring
🤔 사용 이유 우리 회사 프로그램 로직상 서비스가 동작을 하고 프로토콜을 보내는 작업을 하게 된다. 쉽게 프로세스의 흐름에 대해서 설명을 하자면, 사용자가 자산을 구매를 하고 등록을 한다. 이후에 해당 자산을 사용자에게 할당 해주고 회수를 하는 서비스가 존재한다. 이때 자산에 대해서 할당 및 회수를 하게 되는 경우 프로토콜을 서버쪽에 보낸다. 여기서 프로토콜을 서버에 보낼때 프로토콜의 내용이 변경이 되면서 Exception 이 발생하게 되었고, 할당 및 회수도 같이 롤백이 되버리는 이슈가 발생하게 된다. 같은 트랜젝션으로 물려있기 때문에 발생한 이슈로 해당 이슈를 수정하기 위해서 Spring Event 기능을 사용하게 되었다. 프로세스마다 다를수는 있지만 메인 기능의 성공과 서브 기능의 성공은 분리가 되..
· Spring
⚡ 개요 spring boot를 사용하면서 기본적인 yml 설정 파일이 존재하고, 프로파일 설정을 하게 되면 프로파일 설정된 값이 우선으로 설정이 된다는것도 협업을 하면서 알고 있었다. 그렇다면 신규 구축 및 서로 다른 설정을 할때 우선순위가 어떻게 되는지 궁금해서 정리를 해보려고 한다. ⚡ 우선 순위 내용 정리 Spring Boot에서는 여러 개의 YAML 파일을 사용하여 애플리케이션 구성을 관리할 수 있다. 이러한 파일은 다음과 같은 우선순위를 가지고 있다. 기본 값 (default) Spring Boot에는 application.yml 또는 application.properties 파일이 기본값으로 제공된다. 이 파일은 다른 구성 파일에 정의되지 않은 모든 구성 속성을 가지고 있다. 프로파일별 값 ..
· Spring
이번에는 좀 가벼운 내용으로 쉬어가려고 한다...😅😅😅 개발을 진행 하다 보니 지루함도 느끼고 개발이 하기 싫을때가 있다. 그럴때마다 리프레쉬를 하기 위해서 여러 좋은 글들을 읽거나 재미있는것을 찾아 보곤 한다. 그러던 도중 매일 보는 콘솔에 찍히는 기본 배너는 어떻게 나오며 어떻게 변경하지??? 라는 생각을 하게 되었고 배너를 변경하는 법을 찾아보게 되었다. ⚡배너를 변경하는 방법 Spring Boot 에서 배너를 변경하고 싶다면 src/main/resources 폴더에 banner.txt 파일을 작성하게 되면 해당 텍스트를 배너로 표현을 해줍니다. (매우 간단😤) 테스트용으로 아래의 참조 사이트를 이용해서 만들어본 배너 이다. (😁😁) ⚡참조 사이트 배너 생성 사이트 Spring Boot banner..
· Spring
⚡JPA 사용 방법 (기본) 1. 의존성 추가 - maven repository 사이트에서 버전에 따라 추가가 가능하다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. Entity Class 생성 - Entity가 설정된 Class는 JPA가 관리하는 클래스이고, 테이블과 매핑할 테이블은 어노테이션을 붙여 사용한다. # 여기에서 @Entity가 붙은 클래스는 JPA가 관리하는 클래스이고, 테이블과 매핑할 테이블은 해당 어노테이션을 붙인다. 만약 @ID의 컬럼이 자동 증가 하도록 테이블을 생성 했다면, @GeneratedValue 어노테이션을 사용해야한다. @Data @Entity @NoArgsConstructor @Ta..
· Java
⚡반복문의 종류 1. for loop 가장 빠르고 단순하다. 그래서 효율적이다. 모든 자료형에 대해 사용이 가능하다. 중간에 loop 건너뛰기나 종료가 가능하다. (continue or break) 반복 범위 컨트롤이 가능하다. (i++, i–, i+=2*i 등) 변수를 활용할 수 있다. (var i 값을 사용할 수 있다) 2. forEach 빠른 편이다. Array객체에서 사용이 가능하다. 일반 for문보다 가독성이 좋고, 객체형을 다루기가 쉽다. for문과 다르게 중간에 끊을 방법이 없다. (return으로 - skip가능) return값을 받지 못한다. 3. filter 빠른 편이다. Array객체에서 사용이 가능하다. chainable 하다. 빈 배열 요소를 반환하지 않는다. 대용량 배열 처리 시..
· Java
⚡대표적인 데이터 베이스 RDB NoSQL ⚡RDB :Relational DataBase (관계형 데이터베이스) 관계형 데이터 모델을 기본으로 두고 모든 데이터를 2차원 테이블 형태로 표현 하는 데이터 베이스 (쉽게 말해 엑셀 형태.) 서로 다른 테이블이 서로 관계를 맺고 모여있는 집합체. 관계를 나타내기 위해서 키(key) 각 테이블의 행들이 서로 연결되는 관계 (1:1, 1:N, N:M) 를 가질수 있다. 논리적 구성 Relation (릴레이션) Entity (개체) Attribute (속성) 과 Tuple (튜플) 로 구성 되어 있다. 논리 데이터 모델에서는 Entity, 관계형 데이터 모델에서는 Tabel, 관계형 모델에서는 Relation 이라고 불림. Attribute (속성) Entity를 ..
· Spring
⚡ 들어가기전 개발을 진행 하면서, 핵심 로직을 작성한 뒤에 공통적으로 따라오는 부분이 존재 하면서 AOP를 공부하게 되었다. 예를 들어서 특정 로직이 실행이 된 경우 이력을 남기는 부분, 특정 로직이 완료된 경우 서버에 프로토콜을 넘기는 경우 매번 동일한 공통 로직을 적어줘야되는 부분이 생겼다. 나처럼 특정 로직이 완성된 경우에 공통로직이 발생하는 경우도 있겟지만, 로직의 시작전, Exception이 떨어진 경우등 특정 시점에 적용시키는 것도 가능하다. ⚡ Spring Boot AOP (Aspect Oriented Programming) 측면 / 양상 지향적인 프로그래밍 관점 지향 프로그램이다. 중복된 코드를 떼어내서 분리하고 각각의 Method가 자신의 일에만 집중하게 해준다. 쉽게 설명하면 핵심 로..
HaeTae
'spring' 태그의 글 목록