본문 바로가기

Java/Spring Boot31

Thymeleaf 기본 타임리프 익히기 취미 (대표 취미) 글 보기 표현식 설명 ${...} 변수의 값 #{...} 속성 파일 값 @{...} url 표현식 *{...} th:object에서 선택한 객체에 접근 문법 설명 th:text 텍스트 표현 th:each 컬렉션 반복할 때 사용 th:if 조건이 true인 경우 표시 th:unless 조건이 false인 경우 표시 th:href 이동 경로 th:with 변수값으로 지정 th:object 선택한 객체로 지정 날짜형식을 포매팅하는 함수 (LocalDateTime -> yyyy-MM-dd HH:mm) 본 포스팅은[스프링부트 3 백엔드 개발자되기: 자바 편] 을 참고하였습니다. 2023. 12. 4.
Junit & AssertJ package com.blog; import org.junit.jupiter.api.*; public class JUnitCycleTest { @BeforeAll // 전체 테스트 시작 전 1회 실행 (static으로 선언) static void beforeAll(){ // DB 연결이나 테스트 환경 초기화할 때 사용 System.out.println("@BeforeAll"); } @BeforeEach // 테스트 케이스 시작 전마다 실행 public void beforeEach(){ // 메서드에 사용되는 객체 초기화하거나 미리 필요한 값을 넣는 경우 사용 System.out.println("@BeforeEach"); } @Test public void test1(){ System.out.println.. 2023. 12. 2.
Thymeleaf 경로 설정하기 thymeleaf에서 static에 있는 정적 리소스를 접근하려면 이런식으로 바로 접근이 가능하다(현재 프로젝트에는 static/assets/js/js파일 구조 이다.) 하지만 templates의 도메인별 폴더를 만들어서 thymeleaf-layout-dialect를 적용했더니 경로가 안맞아서 파일이 다 깨졌다... thymeleaf 공부안하고 무작정 하니 이런 문제가 발생하는구나. thymleaf에도 jsp처럼 Context Path 사용이 가능하다. @{/} 표현식으로 상대경로 문제를 처리해줄 수 있다. See User Profile 변수 표현식도 중첩 사용가능하다. 여러개의 매개변수도 쉼표로 구분해서 사용 가능하다. @{/order/process(execId=${execId},execType='FA.. 2023. 11. 30.
spring security에서 @PreAuthorize가 안먹힐때 (SpringBoot 3.0 이상) 나는 컨트롤러 메소드에 API별로 @PreAuthorize를 넣었는데 시큐리티가 해당 어노테이션을 수행하지 않았다. 그래서 검색해봤다. 클래스 상단에 @EnableMethodSecurity를 붙여주면 해결된다. import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; 아쉽게도 spring security6버전 이상 자료는 아직 많이 없는 듯 하다.... package com.nahwasa.springsecuritybasicsettingforspringboot3.controller; import org.springframework.security.access.prepost.PreAuthori.. 2023. 11. 27.
쿼리 파라미터찍기 https://github.com/gavlyukovskiy/spring-boot-data-source-decorator GitHub - gavlyukovskiy/spring-boot-data-source-decorator: Spring Boot integration with p6spy, datasource-proxy, flexy-pool and s Spring Boot integration with p6spy, datasource-proxy, flexy-pool and spring-cloud-sleuth - GitHub - gavlyukovskiy/spring-boot-data-source-decorator: Spring Boot integration with p6spy, datasource-p... g.. 2023. 11. 8.
실무에서 모니터링 사용하기 모니터링 관찰 시 전체-> 점점 좁게 모니터링 3단계 1.애플리케이션 추적(하나만 쓴다면 핀포인트를....) 각각의 HTTP 요청을 추적. 장애 생겼을 때 찾기 쉬움.... 요청 쿼리까지 다 나옴! https://github.com/pinpoint-apm/pinpoint GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. APM, (Application Performance Management) tool for large-scale distributed systems. - GitHub - pinpoint-apm/pinpoint: APM, (Applic.. 2023. 9. 27.