Dev/Springboot 15

스프링 빈 라이프 사이클 ( Spring Bean Life Cycle ) - Bean Scope, Bean Profile, Bean 초기화

해당 게시글은 사실 DI 나 IoC작성시 관련해서 함께 작성하려고 했는데 어쩌다 보니 작성 순서가 뒤로 밀렸다.  이 글을 읽고나면 아래 순서대로 한번씩 읽어보는 것을 추천한다 :) ( 사실 이번 글을 작성하다가 세션 종료로 글이 통째로 한번 날아가서 마음이 아픈 상태다 ^_ㅠ..)  2024.05.06 - [개발/springboot] - Spring의 DI - 코드를 유연하고 단순하게 하는 방법 Spring의 DI - 코드를 유연하고 단순하게 하는 방법이전 AOP에 이어 Spring POJO의 또 다른 키워드인 DI와 IoC에 대한 개념을 함께 정리해볼까 한다.AOP에 대한 게시글이 궁금하다면 아래 링크를 참조 바란다. 2024.05.06 - [개발/springboot] - Spring의 AOP - 공..

Dev/Springboot 2024.05.16

AOP 심화 - @Advice 예제 포함

이전 게시글에서 AOP에 대해 간단하게 정리했는데 실제 예제등에 대해 부족한점이 있는 것 같아 내용을 보충하고자 해당 게시글을 작성하게 되었다.  2024.05.06 - [개발/springboot] - Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법 Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법java OOP 관련 게시글을 작성하다가 Spring POJO 에서 필수적으로 알아야 하는 AOP/IoC/DI/PSA에 대해 정리한 글을 공유하면 좋을 것 같아 글을 남겨 본다.  그중에서도 이번 게시글은 AOP에 관련된 내용zigo-autumn.tistory.com  JoinPoint 와 ProceedingJoinPointJoinPoint@Advice가 적용..

Dev/Springboot 2024.05.16

Spring 의 PSA - 웹 기술 스택을 간편하게 변경할 수 있는 방법

Spring POJO 구조의 마지막 내용이다.  AOP와 DI 관련된 내용은 다음 게시글을 참고 바란다. 2024.05.06 - [개발/springboot] - Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법 Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법java OOP 관련 게시글을 작성하다가 Spring에서 필수적으로 알아야 하는 AOP/IoC/DI/PSA에 대해 정리한 글을 공유하면 좋을 것 같아 글을 남겨 본다.  그중에서도 이번 게시글은 AOP에 관련된 내용이다.zigo-autumn.tistory.com 2024.05.06 - [개발/springboot] - Spring의 DI - 코드를 유연하고 단순하게 하는 방법 Spring의 DI - 코..

Dev/Springboot 2024.05.06

Spring의 DI - 코드를 유연하고 단순하게 하는 방법

이전 AOP에 이어 Spring POJO의 또 다른 키워드인 DI와 IoC에 대한 개념을 함께 정리해볼까 한다.AOP에 대한 게시글이 궁금하다면 아래 링크를 참조 바란다. 2024.05.06 - [개발/springboot] - Spring의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법 Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법java OOP 관련 게시글을 작성하다가 Spring에서 필수적으로 알아야 하는 AOP/IoC/DI/PSA에 대해 정리한 글을 공유하면 좋을 것 같아 글을 남겨 본다.  그중에서도 이번 게시글은 AOP에 관련된 내용이다.zigo-autumn.tistory.com  의존성 주입(DI : Dependency Injection)이란?DI란 외..

Dev/Springboot 2024.05.06

Spring 의 AOP - 공통 소스 파일을 분리하여 관리할 수 있는 방법

java OOP 관련 게시글을 작성하다가 Spring POJO 에서 필수적으로 알아야 하는 AOP/IoC/DI/PSA에 대해 정리한 글을 공유하면 좋을 것 같아 글을 남겨 본다.  그중에서도 이번 게시글은 AOP에 관련된 내용이다.  2024.05.01 - [개발/java] - Garbage Collection과 JVM 메모리 구조 ( OOP를 제대로 알기 ) Garbage Collection 과JVM 메모리 구조 ( OOP를 제대로 알기 )자바를 사용해서 프로그램 코드를 작성하다 보면 간혹 코드 내용에는 문제가 없는 것 같은데 의도와 다르게 실행될 때가 있다. 경험상 이것은 변수가 JVM에서 어떻게 적재되고 읽히는지 제대로zigo-autumn.tistory.com  AOP 란? AOP는 Aspect O..

Dev/Springboot 2024.05.06

HttpUrlConnection을 사용하여 외부URL Data Scrapping 하기

restfulAPI를 개발하다 보면 제공할 정보를 위해 만드는 경우도 많지만 반대로 필요한 OpenAPI 에 접근하여 원하는 데이터를 긁어와야 할 때도 많다. 실무에서 꽤 자주 썼는데 따로 정리한적은 없는 것 같아서 내가 실제로 자주 썼던 샘플코드를 하나 가져와봤다. 개발 환경 IDE : intelliJ FrameWork : springboot 3.2.2 / JPA(Hibernate5) Launguage : java 17 BuildTool : Gradle TestTool : Junit5 구현 내용은 다음과 같다 ResponseScrap @Getter @AllArgsConstructor(access = AccessLevel.PROTECTED) @NoArgsConstructor(access = AccessL..

Dev/Springboot 2024.03.14

WebApplication 의 Exception 처리

예제 파일 링크 바로가기https://github.com/gahyeonkwon/dev_study/tree/main/exceptiondemo/src/main  Exception과 logging 은 개발할 때마다 가장 고심하는 부분이다.  spring 프레임워크에서 제공하는 Exception 처리는 사용하기 편리하지만 실제로 웹 애플리케이션이 어떻게 Exception을 전달하는지에 대해 정리 필요성을 느껴 글을 작성하게 되었다. Exception 이 전달 되는 순서Exception 이 발생하면 Controller -> Interceptor -> Servlet -> Filter -> Was 순으로 전달이 된다. 일반적으로 Exception 은 Try - Catch 구문을 통해 Servlet 내에서 처리되지만,..

Dev/Springboot 2024.03.10

RedirectAttributes 사용시 java.lang.IllegalArgumentException: Model has no value for key 오류 해결하기

페이지가 redirect 될 때 값을 함께 전달하고 싶어서 RedirectAttributes 를 사용해서 구현했는데 java.lang.IllegalArgumentException: Model has no value for key 오류가 발생했다. redirectAttributes.addFlashAttribute("getWaterMount", waterMount); "redirect:/recipe/spec/{recipeId}" 이게 문제가 되던 코드인데 redirectAttributes.addFlashAttribute("getWaterMount", waterMount); "redirect:/recipe/spec/" + waterMount.getRecipeId(); 로 변경해서 오류를 해결 했다.

Dev/Springboot 2024.02.25

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name '...' available as request attribute 오류 해결 방법

springboot 환경에서 Controller 에서 html 페이지 연결 도중 제목과 같은 오류가 발생했다. 원인은 다음과 같다. ModelAttribute 가 호출하는 Controller 에 존재하지 않을 경우 @ModelAttribute 애노테이션 뒤에 띄어쓰기를 하지 않음 각각 ModelAttribute 를 추가하고 띄어쓰기 확인 후 정상적으로 실행 되는 것을 확인 할 수 있었다.

Dev/Springboot 2024.02.25

build.gradle 에서 lombok 버전 충돌 오류 ( feat. java 17 사용 )

개발환경 IDE : intelliJ FrameWork : springboot 3.2.2 Launguage java 17 DB : h2 자바 8을 사용하다가 ( 새로 패키지를 만들기 귀찮아서 기존에 쓰던 패키지 설정 파일을 복붙했더니 ) 17로 업그레이드 하는 과정에서 아래 오류가 발생했다. java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x7d419a17) cannot access class cohttp://m.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compi..

Dev/Springboot 2024.02.20