Spring

Spring

[Spring] sqlExceptionHelper() is null 에러

mariaDB랑 spring이랑 연결하다가 "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()" is null에러가 났다. 각각의 컴퓨터에서 mariaDB에 연결할 때 나는 오류로, 컴퓨터마다 세팅이 다르기 때문에 발생한다는 글을 발견했다.https://perfect-dev.tistory.com/38 [Spring Boot] Caused by: org.hibernate.service.spi.ServiceException:Error Message: Caused by: org.hibernate.service.spi.ServiceException: Unable to create re..

Spring

[Spring] 정적파일 경로

기본적으로 src/main/webapp이 root로 설정되어있다. 이러한 구조일때 프로젝트에 context-path가 있다면 /context/js/login/login.js로 접근할 수 있다. 주의할점은 /로 시작하면, /js/login/login.js로 잡힌다. /없이 상대경로로 해줘야 /context/login/login.js로 잡힌다.

Spring

[Spring] Spring MVC 설정(XML방식)

과거에는 Srping에 xml형식으로 모든 설정을 했다. 현재는 Annotation방식(@)으로 바뀌지만, 여전히 xml로 설정이 가능하다. 레거시 프로젝트를(spring 4 기준) xml형식으로 만들어보면서 spring에 대해 더 깊게 알아보자. xml은 일반적으로 크게 이런식으로 나눈다. 1. web.xml 2. dispatcher-servlet 3. context-*.xml 위의 3가지는 용도에 따라 나눠둔 것일 뿐 모두 그냥 bean을 등록하는 행위이다. 파일의 시작은 web.xml이다. spring에 기본적으로 webapp/WEB-INF아래의 web.xml을 먼저 보도록 되어있다. 그냥 용도에 따라 나눈 것 뿐이므로 이름을 바꿔도 된다. dispatcher-servlet.xml은 dispatch..

Spring

[springboot] springboot 3.0의 새로운 점!

SpringBoot 3.0의 개선사항 언젠가부터 Spring Initializr에서 spring 3.0부터만 지원하게 되었다... 그래서 이번 포스트에서는 springboot 3.0에 대해서 알아보도록 하겠다. 참고로 springboot는 java 17이상을 지원하기때문에, java17의 다른점을 알고 싶은 분들은 아래 링크 클릭! 2024.01.11 - [java] - [java] java 17의 새로운 점들! [java] java 17의 새로운 점들! java17 & SpringBoot3.0 2021년 9월 java 17이 새로 나왔다 (LTS버전 - Long-term support) java 11과 비교해서 70가지 이상의 JEP가 더 추가되었다고 한다. *JEP : JDK 개선제안, JDK Enh..

Spring

[spring] swagger-fox 연동하기

Swagger가 뭐지? 우리는 보통 swagger와 swagger-ui를 헷갈린다. 사실 swagger에서는 다양한 툴을 제공하는데, swagger-hub(깃헙처럼 다양한 api를 확인할 수 있다), swagger-ui 등을 제공한다. swagger-ui를 우리는 보통 swagger라고 부르기도 한다. swagger는 open api specification과 연관되어있다. Oepn Api Specification(OAS)는 Restful API를 위한 표준이다. Swagger Specification이라고도 하는 것 같다. Swagger는 이 표준을 준수해서 API를 만들고 소스코드 없이 이해 가능하도록 시각화하는 툴을 제공한다. 그것이 바로 swagger-ui이다. swagger는 기술의 제약을 받지..

Spring

[springboot] ApplicationPidFileWriter 란?

Why? 외장 톰캣으로 어플리케이션을 재구동한다면 shutdown.sh를 실행하면되지만, 내장 톰캣(스프링 부트) 애플리케이션을 재구동한다면 일반적으로 서버 구동시 pid를 미리 저장해두고 종료가 필요한 시점에해당 pid값으로 kill한다. 바로 이 pid를 만들어주는 방법 중에 하나가 ApplicationPidFileWriter객체의 사용이다. 자동 배포를 할때, 자동으로 재구동하기위해 pid를 설정해준다. PID 만들기 PID 생성 경로 지정 spring: pid: file: test-app.pid # PID 파일 생성 경로 지정 Main 메소드 ApplicationPidFileWriter 생성 @SpringBootApplication 을 적용한 메인 Application의 main()메소드에서 아래..

Spring

[spring] form데이터 @RequestPart vs @RequestParam

@RequestPart란? @RequestPart는 @RequestParam과 마찬가지로 String, form, multipart데이터를 받지만, JSON, multipart 복잡한 데이터를 받는데 주로 사용된다. @RequestParam VS @RequestPart VS @ ReqeustBody 그럼 차이점이 무엇일까? 이 세가지 어노테이션을 비교해보며 ReqeustPart에대해 알아보자. @RequestParam과 @RequestPart는 둘 다 파라메터를 받는데서 사용한다. String, from, Multipart 데이터를 받을 수 있다. @RequestBody는 바디에 있는 데이터를 꺼내는 역할을 한다. @RequestBody post등의 방식으로 body에 데이터를 넣어주었을 때만 사용한다...

Spring

[spring] spring scheduler vs quartz scheduler

개인적으로 spring shceduler와 quartz shceduler가 같은건 줄 알았는데, 알고보니 다른거여서 다시 포스팅을 남긴다. Spring scheduler spring scheduler는 spring에서 built in 으로 제공한다. quartz보다 훨씬 간단하게 사용할 수 있다는 장점이 있다. 프로젝트가 복잡하지 않고 단순히 scheduling과 bean만 필요하다면 quartz보다 spring scheduler가 낫다. 메인메소드에 @EnabledScheduling을 달아주고, @EnableScheduling @SpringBootApplication public class Application() { public static void main(String[] args) { Spring..

우주유령
'Spring' 카테고리의 글 목록