본문 바로가기

Spring13

Spring Security6 JWT구성 HTML 삽입 미리보기할 수 없는 소스 1. secyrity config 코드 Security6 버전으로 올라오면서 구현 코드 문법이 좀 바뀌긴 했지만, 개념적인 부분은 기존과 동일하다. 우선 config 구현 코드는 아래와 같다. @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) // 이걸 추가해야 어노테이션 기반 권한 설정이 동작 @RequiredArgsConstructor public class SecurityConfig { private final JwtTokenProvider jwtTokenProvider; private final JwtAccessDen.. 2024. 4. 22.
Spring REST API @Valid HTML 삽입 미리보기할 수 없는 소스 1. @Valid 1-1. @Valid 란 Spring에서 클라이언트에서 넘어온 값에 대한 검증을 쉽게 하기 위해 해당 어노테이션을 사용하며 해당 처리를 DTO객체에서 처리하기 때문에 코드의 응집도가 올라간다는 장점도 있다. 우선 형식 체크 외에 빈 값에 대한 체크는 @NotNull, @NotEmpty, @NotBlank을 사용하며 각각의 용도는 살짝 다른데 차이점은 아래와 같다. @NotNull: 필드 값이 null인지 검증. @NotEmpty: 필드 값이 null 뿐 아니라 빈 문자열("") 인지도 검증. @NotBlank: 필드 값이 null, 빈 문자열("") 뿐 아니라 공백("")인지도 검증. 보통 문자열에 체크는 @NotBlank를 사용하며, 객체에 대해.. 2024. 3. 6.
Spring 비지니스 로직 위치 HTML 삽입 미리보기할 수 없는 소스 1. 서비스 계층에서의 구현 장/단점 우선 서비스 계층에서 구현은 아래와 같다. 하나의 Customer 클래스가 존재하고 Getter, Setter 이외의 로직은 존재하지 않는다. 서비스 계층에서 해당 객체를 통해 필요한 값을 가져와 필요에 따라 함수를 작성한다. 고객의 등급은 파라미터로 받은 값에 따라 분기 처리하여 사용한다. @Service public class CustomerService { // 이자 금액을 계산하는 함수 public double getInterest(int cost,String grade){ Customer customer = new Customer(); customer.setId("C1"); customer.setBalance(100);.. 2024. 2. 25.
Springboot ftp 파일 업로드/다운로드 HTML 삽입 미리보기할 수 없는 소스 1. 클라우드 FTP 서버에 연결 클라우드 FTP를 생성하는 부분은 해당 글을 참조 => [CentOS 7] FTP 서버 구축 과정 현재 로컬 애플리케이션(spring boot)에서 클라우드에 있는 FTP서버에 연결을 하여 업로드와 다운로드를 진행하는 상황이다. @Service @Slf4j public class FTPService { @Value("${ftp.server}") private String server; @Value("${ftp.port}") private int port; @Value("${ftp.username}") private String username; @Value("${ftp.password}") private String password.. 2023. 8. 25.