| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- Maven
- RDB
- spring
- Geoserver
- Kafka
- JSON Web Token
- mysql
- hadoop #hdfs
- JPA
- nginx
- Linux
- uuid
- JWT
- postgres
- AuthenticationPrincipal
- QGIS
- Docker
- python
- LazyInitializationException
- spring boot
- #mojo
- insert into
- Spring Security
- Failed to load ApplicationContext
- sftp
- posgis
- 1093
- psycopg2
- postgresql
- Java
- Today
- Total
목록spring boot (8)
FOREST_CHOI's BLOG
현재 로그인한 사용자의 정보를 손쉽게(?) 얻어오기위해 @AuthenticationPrincipal을 이용한 어노테이션을 작성하여 사용하고 싶었다. @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") public @interface CurrentMember { } 1. Runtime시 유지 2. 파라미터에 사용 가능 3. spEL을 이용하여 인증정보가 존재하지 않으면 null / 존재하면 member 라는 property를 반환 @RequestMapping("/api/member") @Requ..
마이크로 서비스 관련 강의를 듣던 도중 Spring Cloud Config 를 설정하는 부분에서 오류가 발생했다. 원인은 yaml파일의 IP addr와 user-micro-service에 작성한 IP address 가 서로 다르기 떄문에 발생하였다. - 회사에서 공부하는데, 집, 회사 IP가 다르니까 당연한 것이다. http.authorizeRequests().antMatchers("/**") .hasIpAddress("{ ip address }") .and() .authenticationManager(authenticationManager) .addFilter(getAuthenticationFilter(authenticationManager)); token: expirationTime: 86400000..
MSA 강의를 보면서 포트 번호를 가져올 일이 생겼다. 근데 뭔가.. 강의처럼 가져와 지지 않았었다... 그래서 그냥 구글링 해서 찾은거 가져온 것이다. 아래 class에도 @NoArgsConstructor, @AllArgsConstructor을 붙여줄까 했는데 귀찮아서 생략~ @Component @Getter @NoArgsConstructor @AllArgsConstructor public class Greeting { @Value("${greeting.message}") private String message; private String serverPort; public void setServerPort(String serverPort){ this.serverPort = serverPort; } }..
MSA 강의를 따라하다가 이런 오류가 발생했다. userServiceImpl 과 webSecurity를 무한참조? 하는 느낌이 들었다. 그래서 인터넷을 찾아보니까 WebSecurity에서 UserService를 참조하고 있고, UserSerivce에서 BCryptPasswordEncoder를 사용하기 위해 SecurityConfig를 참조하기 때문에 참조 사이클이 생겨 발생하는 것이라고 했다. public interface UserSerivce extends UserDetailsService{ } 이런 형식으로 UserServiceImpl에서 구현을 바로 할 수 있게 해 주었다. 하지만 이를 해결하기 위해서는 UserDetailsService를 따로 class로 구현하여 UserDetailsService..
Spring 2.7.x 이상의 버전부터 Spring Security 의 WebSecurityConfigurerAdapter를 사용해서 config를 사용할 때 오류가 발생했다. 공식홈페이지에는 이제 사용을 권장핮지 않는다고 되어있다. https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter Spring Security without the WebSecurityConfigurerAdapter In Spring Security 5.7.0-M2 we deprecated the WebSecurityConfigurerAdapter, as we encourage users to move towards a com..
일단 server.port = 0 이라는 것은 랜덤 포트를 사용하겠다는 의미이다. 반대로 server.port = 8080과 같이 하나의 포트를 지정해서 사용해 줄 수 있다. 이 두 가지 경우에서 spring boot에 포트번호를 불러오는 부분이 서로 다른데, 첫 번째로 server.port = 8080 과 같이 하나의 포트를 지정해 준경우이다. @Value("${local.server.port}") private int port; 와 같이 간단하게 불러 올 수 있다. 두번째로는 server.port = 0 과 같이 랜덤 포트를 사용하는 경우이다. 이 경우에 @Value("${server.port}") 이렇게 사용하게 된다면 0 이라는 포트 번호가 출력하게 될 것이다. 이 경우에는 두 가지 경우의 수가 ..
오늘부터 차근차근 하나씩 내가 공부했던걸 올리려고한다. (이미 늦은감은 있지만...) 일단 처음 진행할건 JWT(Json Web Token) 나는 Spring boot를 시작하고 기본적인 게시판 CURD를 배운다음 실제 로그인을 진행해보고싶었다. 여러 블로그를 보면서 따라 쳐보고 시행착오도 겪어보고 결국 Spring boot에 입문한지 3~4개월차 쯤에 JWT로그인을 구현할 수 있었다. JWT로그인을 위해 이리저리 블로그를 돌아다니다가(진짜 거짓말 안하고 대충 50개 넘개는 본거같다).. 조금 쉽게 설명해놓을 곳이 많지 않다는 것을 느꼈고 내가 JWT입문자(?)들을 위해 조금 쉽게 풀어쓰려고 글을 적어보려고한다. 사실 Spring Security도 알아야하는 고급기술이고 나도 아직 제대로 알지는 못하지만..
토이프로젝트로 개발을 진행하던 도중 LazyInitializationException 예외가 발생하였다. 다른 기술블로그들을 참고하였지만, 나의 근본적인 문제와 다른 문제였고 해결방법이 '이렇게 해도 되나?' 싶은게 대분이였다. 현재 내 프로젝트에서의 문제점은 이러했다. 1. @AuthenticationPrincipal을 편하게 받아오기위해 @CurrentMember(@CurrentUser라고많이씀) 을 설정하여 편하게 유저정보를 가져오게 하였음 2. 게시글 작성시 현재맴버를 가지고 오고 활용하는 과정에서 LazyInitializationException가 발생하였음 일단 LazyInitializationException 이란 무엇일까? - 영속성 컨텍스트가 종료된 상황에서 LAZY LOADING된 pr..