본문 바로가기
728x90
반응형

전체 글398

[SpringBoot] Multipart file 업로드 시 "Content type 'application/octet-stream' not supported" 에러 Multipart file 업로드 시 아래와 같은 에러가 발생했다. Content type 에러 분명 테스트 Controller에서 @RequestParam을 사용해 테스트 해봤을 때에는 S3 버킷에 잘 업로드 된 것을 확인했는데, 실제 게시판 글 등록 Controller에 적용해 보니 Content Type 에러가 계속 발생했다. front 단에서 헤더를 잘 설정 해 주었는데도 말이다.. Content type 'application/octet-stream' not supported @PostMapping() @ApiOperation(value = "게시판 공고 등록", notes = "게시판 공고를 등록한다") @ApiResponses({ @ApiResponse(code = 204, message =.. 2024. 2. 16.
Spring application.properties Util로 만들어 쉽게 값 가져오기 spring의 환경변수를 정의하는 역할을 하고 있는 application.properties 파일의 내용을 가지고 오는 방법은 여러가지가 있다. 하지만 이 여러가지 방법들은 사용을 하기 번거로울수도 있고 또한 bean이 아닌 POJO에서 바로 사용할수는 없다. 하지만 프로젝트를 진행하다보면 분명 이런 POJO에서도 application.properties에 있는 값들을 사용하고 싶은 경우가 분명히 있다. 이경우 매번 applicationContext를 가지고 와서 getBean 하여 사용을 하는것은 바람직하지 않기에 이를 Util 클래스로 만들어서 쉽고 간단하게 사용할 수 있도록 해보자. ApplicationContextServe.java import org.springframework.beans.Bea.. 2024. 2. 7.
Spring - @Value가 계속 null을 가져올 때 원인과 해결 방법 @Value란? DB 접속 정보나 비밀번호와 같이 민감한 정보를 별도의 파일로 분리해서 환경 정보에 맞는 값을 불러오도록 하는 애너테이션이다. application.properties 또는 application.yml에 값을 설정하면 필드나 메서드에 값을 주입해준다. 원인 @Value 애너테이션이 property 값을 받아오지 못하는 경우는 크게 네 가지가 있다. 프로퍼티 이름을 잘못 입력했을 경우 내 코드에서는 문제는 따로 문제가 없었다. Bean으로 등록되지 않은 경우 클래스를 Bean으로 등록하지 않으면 Spring이 의존성 주입을 할 수 없다. AES128Config 클래스는 @Component 애너테이션으로 Bean 등록을 했기 때문에 이 부분도 문제가 없었다. static 변수로 받은 경우 @.. 2024. 2. 7.
[Spring] @Component와 @Configuration @Componenet와 @Configuration은 큰 차이는 없다. 하지만, @Configuration의 선언부를 보면 @Component가 정의되어 있으며, @Component는 개발자가 작성한 클래스를 Bean으로 등록하고자 할 때 사용한다. @Componenet 개발자가 직접 작성한 클래스를 Bean으로 등록하고자 할 경우 사용 @Controller, @Service, @Repository 등의 어노테이션에서 상속 // 다른 클래스에서 Bean으로 불러 사용이 가능함 @Component public class MyComponent{ // do something } @Configuration 외부라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우 사용(개발자가 직접 제어가 불가능한 클래스.. 2024. 2. 6.
[Spring Security] 스프링 시큐리티 세션 정책 (Session Creation Policy) http.sessionManagement(): 세션 설정 시작 sessionCreationPolicy(): 세션 생성 정책 설정 1. ALWAYS 스프링 시큐리티가 항상 세션을 생성 2. IF_REQUIRED 스프링 시큐리티가 필요시 생성(기본) 3. NEVER 스프링 시큐리티가 생성하지 않지만, 기존에 존재하면 사용 4. STATLESS 스프링 시큐리티가 생성하지도 않고, 기존 것을 사용하지도 않음 -> JWT와 같은 토큰 방식을 쓸 때 사용 출처 : https://velog.io/@dawonseo/Spring-Security-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0-%EC%84%B8%EC%85%98-%EC%A0%95%EC%B1.. 2024. 2. 6.
[Warning] Spring Security csrf 경고 문장 http.csrf().disable() is not working in Spring Boot 3.x.x. 스프링 부트 3.x.x 버전 부터는 csrf().disable()이 적용 시 경고 문장이 뜬다. 이는 다음과 같이 바꿔주면 된다. http.csrf().disable() => http.csrf(AbstractHttpConfigurer::disable) Security 필터체인 커스터마이징 코드 @Configuration public class SecurityConfiguration { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests( auth -> aut.. 2024. 2. 6.
728x90
반응형