본문 바로가기

전체 글

[Spring]외장톰캣 특정 war 미로드 개발환경 Tomcat10 (외장톰캣) Spring 2.x.x jdk 17 이슈사항 Tomcat10 환경에서 특정 War가 로드 되지 않는현상 URL관련 프로젝트(SpringBoot2.x.x)이 로드되지않음. 문제점 Spring Boot 2.x.x 는 Tomcat9 까지 지원 https://stackoverflow.com/questions/67525200/why-is-upgrading-to-tomcat-10-0-5-causing-spring-boot-to-shutdown-after-boot Why is upgrading to Tomcat 10.0.5 causing spring boot to shutdown after boot? I have a spring boot project and I am trying.. 더보기
[Spring]PageRequest이용한 페이징처리 참고 URL 공식문서 Spring Doc PageRequest Custom PageRequestCustom Test Repository [GithubRepo] (https://github.com/lso5507/demo-pageable) 필요이유 페이징 기능이 필요할때 Page관련 모델을 생성 후에 사용자가 관리해줘야 함. 장점 page,Size,sort 등의 Parameter정보를 제공하면 봉투패턴으로 page정보와 Content정보를 전달해줌 단점 데이터에 대한 추가가공이 필요할 경우에 pageImpl 클래스를 상속받아 작업해야함 DataInit Controller package com.example.demopageable; import org.springframework.beans.factory.an.. 더보기
[QueryDSL]Q Class Import 불가 이슈사항 QueryDSL의 QClass는 다음과 같이 정상적으로 생성되었으나, Import 되지 않는 문제 다음과 같은 설정창에서 QClass가 들어있는 Sources 폴더를 Source로 등록하여야함(폴더 오른쪽클릭) File - Project Structure - MainProject명 클릭 더보기
[Spring] MyBatis Mapper Bean NotFound 이슈사항 해당 환경에서 Spring Mybatis v3 사용 시 Mapper Bean파일을 찾을 수 없습니다. 관련 build.gradle 해결방식 Mybatis Starer팩 버전을 v2 으로 다운그레이드함 // https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '2.3.1' 원인분석 실제로 Mybatis Interface를 구현하여 @Mapper 어노테이션을 삽입하면 Spring 에서 프록시 기능을 이용해 Mybatis 구현체를 .. 더보기
[Spring]SecurityContextHolder란? SecurityContextHolder란? 기본적으로 ThreadLocal을 사용 한 쓰레드 내에서 사용하는 공용 저장소 쓰레드 내에서 Application을 공유 할수있다. SecurityContextHolder를 사용 쓰레드가 달라지면 제대로 된 인증 정보를 가져올 수 없음 SecurityContextHodler는 싱글톤 객체 SecurityContextHolder가 로드 될 때 한번 호출됩니다 static { initialize(); } 해당 initialize 메소드에서 SecucirtyContextHolder에 대한 전략 방식을 파악 private static void initialize() { if (!StringUtils.hasText(strategyName)) { strategyName =.. 더보기
[SpringBoot]SpringBoot 3.x.x War 배포에러 SpringBoot 3.x.x War 배포 문제 해결 방법 Tomcat9 버전에서 SpringBoot3 War 배포시 정상적으로 Spring이 로드되지 않습니다. 문제 상황 SpringBoot 3.x.x 버전에서 War 파일로 빌드한 프로젝트를 배포하면, SpringBoot가 로드되지 않습니다. 원인 분석 SpringBoot 3.x.x 버전부터는 Tomcat10이상의 버전부터 호환이 가능합니다. 참고사이트 What's New in Spring Framework 6.x 해결 방법 Tomcat10 버전을 적용하여 SpringBoot 3.x.x 프로젝트를 배포합니다. 결론 기존 javax.x 라이브러리도 jakarta로 변경되었습니다. • Migration from javax to jakarta namespa.. 더보기
[Tomcat,SSL]443 port Permission denied 원인 관리자 권한이 없는 Tomcat에서 well Known Port인 0~1023의 Port를 접근할때 발생 해결책 가장 간단한 방법으로는 실제 실행하려는 프로세스(Tomcat)을 관리자 권한으로 실행하면된다. Exam) sudo ./startup.sh(실행스크립트) Apache 또는 Nginx 같은 웹서버를 이용해 역방향 프록시 서버를 구현한다. 관리자 권한이 있는 웹서버를 통해 443 Port Request를 수행하고, 해당 요청을 관리자 권한이 없는 Tomcat으로 전달한다. 문제점 가장 간단한 방법으로는 실제 실행하려는 프로세스(Tomcat)을 관리자 권한으로 실행하면된다. 일반적으로는 Tomcat을 관리자 권한으로 실행하지 않는다.(보안적 이유) 알 수 없는 코드나, 신뢰할 수 없는 코드로 웹.. 더보기
[Mac]Java Arm 64bit와 Intel 프로세서중 어느것을 설치해야 하는가.. M1칩이 탑재 된 맥북에서 Intel 프로세서 Java...? Mac M1칩은 분명 Arm 프로세서 기반인데.. 현재 M1칩이 탑재된 맥북프로를 사용중인데 사용하는 자바가 Intel칩 프로세서로 동작하는것을 확인했다. 가능했던 이유 현재 M1칩에서는 기존 Intel프로세서기반 응용프로그램을 지원하기 위해 Rosetta(로제타)를 이용해 Arm 프로세서 환경에서 동작이 가능하게끔 변환하여 동작한다. (카카오톡은 아직 Arm프로세서를 지원하지 않는걸로 알고있습니다^^....) Arm프로세서 기반 Java를 설치하자. 현재 Azul이란 사이트에서 Zulu OpenJDK를 지원하고있다. 최신버전까지 지원하니 변경하는것도 괜찮을것같다. Zip, dmg, tar.gz 형태로 지원해주는데 dmg로 설치하면 간단설치가.. 더보기