SpringBoot(5)
-
Spring Boot Controller 에서 전체 파라메터 폼 클래스 유효성 검증
컨트롤러에 WebDataBinder을 이용하여 파라메터로 넘어오는 폼 클래스의 유효성검증을 추가 private final BoradFormValidator boardFormValidator; @InitBinder("boardForm") public void initBinder(WebDataBinder webDataBinder) { webDataBinder.addValidators(boardFormValidator); } 해당 컨트롤러 상단에 선언을 해줍니다. @InitBinder("boardForm") 에서 boardForm의 이름으로 클래스를 찾아서 검증 @GetMapping("/boardDetail") public String detail(Model model, BoardForm boardForm) ..
2023.07.05 -
Spring Boot 정적 리소스 설정
spring: web: resources: static-locations: classpath:/js, classpath:/css, classpath:/static application.yml에 다음과 같이 경로들을 나열하면 해당프로젝트의 폴더 위치로 접근이 가능하다.
2023.07.04 -
Spring Boot Security 사용자별 동시접속자 수 제어
@Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http // .addFilterBefore(new CustomAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class) .httpBasic().and() .sessionManagement((sessionManagement) -> sessionManagement // .sessionAuthenticationStrategy(sessionControlStrategy()) // .sessionCreationPolicy(SessionCreationPolicy.STATELESS) // .ses..
2023.06.30 -
Spring Boot + JPA 작성일자 자동 수정 방지
@CreationTimestamp @Column(updatable=false) private LocalDateTime createAt; // 작성일자 updatable = false 를 사용 하면 Entity가 Update 될때 변경되지 않는다.
2023.06.29 -
SpringBoot + JPA 조인테이블 직접 설정 및 정렬 컬럼 추가
// 강좌 와 시리즈 조인 테이블 @Data @Entity @Builder @AllArgsConstructor @NoArgsConstructor public class LectureSeriesLecture{ @Id private Long id; @ManyToOne @JoinColumn(name="lectureSeriesId") private LectureSeries lectureSeries; @ManyToOne @JoinColumn(name="lectureId") private Lecture lecture; private Long orderNum; } 위 테이블은 생성되는 조인테이블을 대체할 Entity 이다 // 강좌 시리즈 테이블 @Data @Entity @EqualsAndHashCode(of = "..
2023.06.28