[Spring] Spring에서 이벤트 발행과 구독
프로그래밍/Java2025. 5. 22. 21:27[Spring] Spring에서 이벤트 발행과 구독

❓이벤트(Event)와 Spring Boot 이벤트의 이해먼저 프로그래밍에서 이벤트란, 애플리케이션 내에서 발생시킬 수 있는 어떤한 사건이나 상태 변경 등을 의미한다. 애플리케이션에는 어떠한 이벤트를 바생시키는 주체와 정해진이벤트의 발생을 탐지해 동작을 처리하는 주체가 존재할 수 있다. Spring Boot는 이벤트 처리를 위해 ApplicationEvent 클래스와 ApplicationEventPublisher 인터페이스를 제공한다.Spring에서 발생하는 모든 이벤트는 ApplicationEvent 클래스를 상속하여 정의되며, 이벤트를 발생시킬 때 전달되고, ApplicationEventPublisher는 이벤트를 발생시키고 이벤트를 구독하는 리스너에게 전달하는 역할을 합니다. Spring Conte..

[Java, Spring] BeanDefinitionStoreException 에러
Error2024. 11. 15. 19:19[Java, Spring] BeanDefinitionStoreException 에러

전에 만들어 놨던 클래스명에 오타가 있어 수정하고 작동을 했더니 아래와 같은 에러가 발생했다 !org.springframework.beans.factory.BeanDefinitionStoreException: I/O failure while processing configuration class [최상의 클래스] 원인클래스 경로에 포함된 설정 파일의 경로나 구성이 잘못되어 있을 경우 또는 파일이 손상되어 읽을 수 없을 때 발생할 수 있다고합니다 ! 해결방법파일이 삭제된 것이 아닌 변경된 클래스를 찾지 못하는 것 같아 build clean를 진행한 후 다시 빌드를 하니 JVM이 정상적으로 경로를 찾아 실행이 되었습니다 !

[Java, Spring] Linux 파일 서버 경로 연결하기
프로그래밍/Java2024. 10. 1. 15:32[Java, Spring] Linux 파일 서버 경로 연결하기

Linux Ubuntu 환경에 프론트와 백엔드 서버가 각각 배포되어있는 상태입니다.각 회원마다 등록한 본인의 프로필 이미지가 서버 특정 폴더에 저장이 되어있는 상태이고, img 태그의 src 경로를 통해 서버에 업로드 되어있는 이미지를 가져오려합니다 ! ⚙️ 프로젝트 환경Spring Boot : 2.7.14Node : 20.6.0Linux : Ubuntu 22.04 🎇 img태그 설정아래와 같이 /icon-image/를 기본 경로로 지정해 놓고 이후 회원의 이미지 파일명을 받아 서버 폴더에서 불러오려고합니다.만약 파일이 없을 경우에는 public 폴더에 저장해 놓은 기본 이미지를 띄워주겠습니다 !src에 설정해 놓은 경로로 이미지를 서버로 요청합니다.src의 서버의 실제 파일의 위치로 설정해 놓는 것은..

[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?
프로그래밍/Java2024. 9. 1. 22:41[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?

요즘 이것 저것 하느냐고 손이 부족해서 오랜만에 포스팅을 쓰네요 !! 분발하자 !!!! (살려주세요...)@ControllerAdvice와 @RestControllerAdvice 우선 순위에 대해 알아보다 Advice에 대해 같이 정리하면 좋을 것 같아 같이 정리해보려고 합니다🫠 ❓@ControllerAdvice란 ?@ControllerAdvice는 Spring 3.2에서 도입된 어노테이션이고, 모든 @Cotroller 클래스가 공유하는 공통 로직을 정의할 때 사용합니다.주로 예외 처리와 바인딩 설정, 모델 객체 등에 사용됩니다. 아래 예제 코드를 통해 간단히 알아보겠습니다 ! 예제코드NotFoundException이 발생할 경우 error라는 이름의 뷰로 이동하고 메세지를 출력합니다.반환되는 타입을 ..

[Java, Spring] application.properties란 ?
프로그래밍/Java2024. 7. 29. 13:28[Java, Spring] application.properties란 ?

application.properties란 ?application.properties 파일은 런타임 시 다양한환경에서 동작할 수 있도록 필요한 옵션들을 제공하는데 사용됩니다.예를 들자면 메일 서버를 구축하거나 DB 종류별 설정, 로그사용 여부 등의 설정이 가능합니다. 직접 커스텀 옵션 값을 추가할 수도 있고, Spring에서 사용하는 디폴트 옵션들을 바꿀 수 있습니다.Spring Document를 통해 application.properties에서 사용한 디폴트 옵션들을 직접 확인하실 수 있습니다 !  application.properties을 사용하는 이유환경 분리application.properties을 사용하는 이유에는 다양한 이유가 있겠지만 가장 큰 이유 중 하나는 애플리케이션을 배포할 때 개발 단..

[Java, 자바] @JsonProperty, @JsonNaming이란?
프로그래밍/Java2024. 6. 20. 19:41[Java, 자바] @JsonProperty, @JsonNaming이란?

API 통신을 하다 보면 대부분 JSON 형태로 데이터를 주고 받습니다. 이때, 서로 파라미터 작성 방식(카멜케이스, 스네이크케이스) 또는 파라미터명이 다를 경우 데이터를 파싱하는 도중에 에러 또는 원활하게 파싱이 되지 않는 경우가 있습니다 ! 카멜 케이스, 스네이크 케이스란?카멜케이스(Camel Case)첫 글자는 소문자로, 중간 글자들은 대문자로 시작하는 표기법입니다.ex) memberId, memberName, memberPhoneNumber 스네이크 케이스(Snake Case)첫 글자는 소문자로, 중간 글자들은 언더바(_)가 포함되는 표기법ex) member_id, member_name, member_phone, member_phone_number일반 코드 예시간단하게 Json 형태로 Reques..

[Spring, Spring Boot] @Value가 null일 때의 원인과 해결 방법
프로그래밍/Java2024. 6. 17. 19:44[Spring, Spring Boot] @Value가 null일 때의 원인과 해결 방법

@Value란 ?먼저 @Value 어노테이션의 경우 DB접속 정보나 비밀번호, secretKey와 같이 민감한 정보를 별도의 파일로 분리해서 환경 정보에 맞는 값을 불러오도록 하는 어노테이션입니다. application.properties 또는 application.yml에 값을 설정하면 필드나 메서드에 값을 주입해줄 수 있습니다 ! null을 반환할 때의 원인@Value 어노테이션이 property의 값을 받아오지 못하는 경우는 크게 네 가지가 있습니다 ! properties 이름을 잘못 입력했을 경우@Valse("${aws.secret-kee}")상단의 코드와 같이 properties에 등록한 이름과 다를 경우 null값을 반환합니다. Bean으로 등록되지 않은 경우클래스를 Bean(@Componen..

[StringBoot] Azure 번역기 API 사용하기
프로그래밍/Java2024. 6. 12. 21:17[StringBoot] Azure 번역기 API 사용하기

번역기 API를 사용하기 위해 Papago open API를 사용하려고 했으나.... 서비스 지원이 종료됬다고 하네요.....우우우우우~그래서 ! Azure를 통한 번역기 API를 사용해보았습니다 !Azure 가입 및 구독API를 사용하려면 Azure에 가입한 후 구독을 진행해줘야합니다 !  12개월은 무료로 사용할 수 있다고합니다 ! 클라우드 컴퓨팅 서비스 | Microsoft AzureMicrosoft Azure의 유연한 개방형 클라우드 컴퓨팅 플랫폼을 통해 목적에 따라 투자하고 비용을 절감하며 조직을 더 효율적으로 만드세요.azure.microsoft.com위 링크를 통해서 회원가입을 진행한 뒤 메인 페이지 배너에 있는 Azure 무료 체험하기를 클릭하면 해당 서비스를 이용하실 수 있습니다 ! 번역..

image