전체 글

개발부터 일상생활 내용까지 잡다한 내용을 다루는 블로그입니다.
소개 Thymeleaf는 자바 웹 및 독립형 환경에서 HTML, XML, JavaScript, CSS 및 텍스트를 처리하는 데 사용되는 서버 측 Java 템플릿 엔진입니다. 다음은 Thymeleaf의 장점입니다. 템플릿 엔진이란? 템플릿 엔진은 서버 측에서 동적으로 HTML, XML, JSON 등의 문서를 생성하는 소프트웨어입니다. 템플릿 엔진을 사용하면 페이지에 동적으로 데이터를 추가하거나 UI를 동적으로 수정할 수 있습니다. 간단한 구문 다양한 태그 속성 지원 및 확장 가능성 다국어 처리가 용이함 Thymeleaf 사용하기 Thymeleaf는 다양한 방법으로 사용할 수 있습니다. 가장 일반적인 방법은 Spring Framework와의 통합입니다. Spring Boot 프로젝트에서는 Starter 종속..
[해결]JPA 사용 시 DB 에 들어가는 시간과 실제 시간이 안맞는 경우 가끔 JPA 를 사용하다 보면 @createdAt 이나 @updatedAt 과 같이 자동으로 타임스탬프를 찍어주는 기능을 사용하는데 이 때 찍혀들어가는 시간과 실제 시간이 안 맞는 경우가 있다. 이런 문제의 원인은 JVM 내의 TimeZone 설정이 안맞아서 그런 경우가 많다. 필자가 이럴 때 해결한 방법중 몇 가지를 소개하고자 한다. 방법 1. URL parameter로 Timezone 설정 MySQL은 기본적으로 useLegacyDatetimeCode=true를 사용한다. Timezone을 변경하려면 이 옵션을 false로 변경하고 serverTimezone 옵션도 추가한다. 아래와 같이 application.properties..
가끔 프로젝트 새로 만들고 프로젝트 돌리면 TestEngine with ID 'junit-vintage' failed to discover tests 라는 에러가 뜰 때가 있다. 이럴 때는 maven 에 아래 의존성을 추가해주면 된다. org.junit.vintage junit-vintage-engine [참고한 글] https://stackoverflow.com/questions/59900637/error-testengine-with-id-junit-vintage-failed-to-discover-tests-with-spring Error "TestEngine with ID 'junit-vintage' failed to discover tests" with Spring Boot 2.2 I have a ..
Spring Security에서 권한별로 접근할 수 있는 url 을 다르게 주고 싶었다 (최고관리자를 ADMIN, 중간관리자를 SUB_ADMIN 이라고 하자) 처음에 아래와 같이 적고 테스트를 해보았다. http.authorizeRequests() .... .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/admin/sub/**").hasRole("SUB_ADMIN") 그런데 위와같이 적으니까 ADMIN은 되는데 SUB_ADMIN 은 계속 404 뜨고있었다. 이것저것 해보다가 아래와 같이 서로 순서를 바꿔서 해보았다. http.authorizeRequests() ... .antMatchers("/admin/sub/**").hasRole("SUB_ADM..
Chung-A
춍춍 블로그