JAVA/오류기록7 Spring boot 순환 참조 회피하기(구조 파악, 중재자 패턴, 지연 초기화) 순환 참조 사이드 프로젝트를 진행하며 순환 참조 오류가 발생하였습니다. 런타임에 로그가 정말 친절하게 어떤 부분에서 순환 참조 오류가 발생하였는지 설명해주었습니다. 순환 참조는 paragraphExtractorHandler 클래스가 controlAdditionalTextExtractor 클래스를 의존하는데 controlAdditionalTextExtractor 클래스도 paragraphExtractorHandler 클래스를 의존하고 있을때, 다시말해 두 클래스가 서로를 의존하고 있을 때 발생합니다. 프로젝트를 실행하면 스프링 컨테이너는 어노테이션으로 판단하여 빈을 생성합니다. 그리고 빈을 생성할 때 참조하는 클래스를 판단하여 의존성을 주입합니다. 이 때, 의존성을 주입하는 방법은 생성자 주입, sett.. 2025. 1. 25. [Spring] application.yml 에 환경변수가 제대로 저장되지 않을 때(java.lang.IllegalArgumentException: Could not resolve placeholder) 배경 깃허브에서 코틀린 기반 스프링 프로젝트를 받아 실행을 했는데 다음과 같은 오류가 떴다. java.lang.IllegalArgumentException: Could not resolve placeholder '' in value...확인해본 결과 application.yml에 환경 변수로 지정된 것들을 코틀린에서 전혀 사용하지 못하고 있었다.소스를 확인해본 결과 "\${app.name}" 다음과 같은 형태로 사용중이었으며 이상은 없었다. 해본 방법들 역시 첫번째 방법은 프로젝트 리빌드 후 기도 메타.리빌드 방법은 인텔리제이 기준 상단 메뉴 - Build - Rebuild Project 를 클릭한다. 단축키로는 윈도우 : Ctrl + Shift + F9맥 : command + Shift + F9 으로.. 2024. 11. 16. Spring security web config 설정 시작스프링부트로 웹 프로젝트를 개발할 때 스프링 시큐리티는 필수적인 프레임워크 기능입니다. 실무에서는 이미 설정이 완료된 상태의 프로젝트 환경에서 개발을 했지만 직접 프로젝트를 생성하고 환경을 구성해보고자 하였습니다. 이 포스팅에서는 제가 설정한 파일의 코드와 왜 그렇게 설정했는가에 대한 이유를 풀이하였습니다. 전문@Configuration@EnableWebSecuritypublic class WebConfig implements WebMvcConfigurer { //Spring security 관련 설정 @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .. 2024. 7. 17. [이클립스] Spring boot 스프링부트 외부 프로젝트 import 시 오류났을 때 체크할 부분 및 해결법(feat.maven clean, 개요 git을 사용하여 외부 프로젝트를 받아오면 여러 설정을 변경해주어야 할 일이 생긴다. 하지만 외부 연동 문서 가이드를 참조하여 차례대로 설정을 변경하였음에도 실행이 되지 않는 일은 비일비재하다. 개인의 실수로 뭐 하나 빼먹었을 가능성도 있지만 변경한 설정이 프로젝트에 제대로 적용이 안됐을 확률도 크다. 이럴 경우 컴퓨터가 다운됐을 때 본체를 재부팅하면 정상적으로 실행이 되는 것처럼 이클립스의 프로젝트 또한 재부팅을 과정을 거쳐줘야 변경된 설정이 정상적으로 적용된다. 이클립스 내에서 재부팅이란 서버나 프로젝트를 Clean한 후 재실행하는 과정을 말한다. 만약 자신이 설정 관련한 변경사항을 제대로 적용했음에도 불구하고 예상치 못한 곳에 뜨는 빨간 줄이나 오류 메세지를 발견한다면 다음 클린 과정을 한번 .. 2023. 4. 12. [이클립스]java.lang.IllegalStateException: Logback configuration error detected 해결법 : logback 경로 설정 개요 깃허브에서 스프링 프로젝트를 내려받아 서버를 세팅하고 실행하는 도중에 위와 같은 에러가 발생하면서 실행이 되지 않았다. 외부에서 이렇게 프로젝트를 받아 실행하면 설정 관련한 오류가 종종 발생하곤 하는데 위와 같은 오류도 그중 하나이다. 그래서 왜 위와 같은 에러가 발생했는지, 그리고 해결법은 어떻게 되는지 작성해보고자 한다. 에러 먼저 logback은 간편하게 로그를 관리할 수 있도록 로그 출력 방법을 지정하는 로깅 프레임워크 중 하나이다. 기존 프로젝트를 진행 중 에러가 뜬다면 logback의 경로가 제대로 지정되어 있는지 확인해야 한다. 먼저 logback에 관련된 properties나 logback-spring.xml 파일에 logback에 관련된 경로가 제대로 지정되어 있는지 확인해야 한다... 2023. 3. 16. [자바]java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer (부제: 형변환은 항상 신경 좀 씁시다.) + 이외에 다른 자바 형변환 정리 여느때와 같은 평화로운 근무시간. 파라미터 하나가 추가되어 수정해달라는 요청을 받고 평소와 같이 수정을 마쳤다. 코드 한 줄 바꾼 것이고 파라미터 명만 신경쓰면 당연히 오류가 나지 않을 것이라 자신하며 배포를 했으나 이게 웬 걸 에러가 터져버렸다. 이제는 익숙해진 에러 문구. String인데 왜 int로 변경하려고 하느냐 어리석은 녀석아 하는 메시지이다. JS처럼 저절로 형변환이 되면 좋으련만 JAVA는 이래저래 손이 많이 가는 친구다. 형변환이란? 서로 다른 타입간의 연산을 수행할 때 타입을 일치시키기 위해 변수나 리터럴의 타입을 다른 타입으로 변환하는 것. String, int 형변환하는 법 - String to int String ex_str = "123"; int ex_int = Integer.p.. 2023. 2. 16. 이전 1 2 다음