Spring 수업을 듣다가 이해를 제대로 못한 부분이 있어 다시 짚어봤다.원래 설정파일은 아래와 같았다.2.TestBean4 클래스에서 DataBean2 를 DataBean1 으로 바꿔서같은 DataBean1 을 갖지만, @Qualifier 로 다른 이름으로 주고 싶
단순한 오류였지만 기록하기 위해 작성해둔다.h2 를 동작을 안시킨채로 코드를 돌려서 생긴 문제였다^^..h2 동작하면 해결완료! : )
spring 강의를 듣다가 자꾸 이상한 에러가 생겨서 찾아보게 됐는데, bean 등록 문제였다. 위 에러와 함께 Caused by: org.springframework.beans.factory.support.BeanDefinitionOverrideException: I
계속 해결해야지…해야지..하던 문제를 이제야 해결했다. 생각보다 간단한 문제였는데, 요새 정신없다는 핑계로 외면하고 있었댜.. 🙄 반성해 내자신…Intialization Error 라면서 계속 java.lang.Exception: No runnable methods
하나를 하면 하나가 또 안되는 매직- 🧙♀️ 그래도 이전글과 같은 원인이라 다행이였다!테스트할때, 테스트가 돌기이전에 처리해줄 게 있어서 @BeforeEach 를 사용했는데 이 @BeforeEach 에 있는 코드들이 적용이 안되는게 아닌가… ㅠㅠ 그래서 찾아보니…
이쯤되니 궁금해졌다. junit5 와 junit4의 차이점이 도대체 얼마나 있길래..? 🙄Junit이란 자바 프로그래밍 언어용 유닛 테스트를 위한 프레임워크다. Junit 컴파일 타임에 JAR로 연결된다. 최신버전인(2022.05.31기준) Junit5 는 org.j
spring 스터디를 하다가 매개변수값으로 아무것도 안넣을 때도 있고 매개변수값이 들어갈 경우도 있었다. 이 경우에 오버로딩으로 똑같은 함수를 작성해야하나 라는 생각을 했다. 그런데 스터디 똑또기 친구가 가변인자라는 이야기를 해줬다. 그게 뭐지? 하고 봤는데 가끔 썼던
스터디 공부를 하다가 갑자기 제목과 같은 에러가 떠서 ?-\_-? 이런 표정으로 따라가봤다.service끼리 서로 autowired 처리를 하고 있었다. 즉, 스프링 빈의 순환 종속성 문제라는 것이였다. 객체 지향에서는 상호참조는 안된다. 꼭 상호간 의존성을 잘 관리
spring mvc를 들으면서 라이프사이클을 기록하고 싶고, 중요한 아이를 기록하고 싶어서 글을 남기게 됐다.요청 \-> DispatcherServlet : 특정 컨트롤러 선택 \-> WebApplicationContentext : 컨트롤러 처리 후 뷰리졸브에게 어떤
요새 회사 일때문에 한동안 정신이 없었다. 왠지 이번년도내내 이럴 것 같은데.. 화이팅해야지 🥲 이번에 spring으로 개발해볼 일이 생겼다. 해보고 싶긴했는데, 막상 해보니 역시 어렵다 ㅠㅠ🥳 내가 원한 것 spring은 DTO 를 주로 사용하는데, 그를 통해 r
Spring 을 사용하여 개발하다가 다른 분이 되게 신박한 걸 쓰셔서 정리하게 됐다. 바로 ControllerInterceptor 라는 아이이다. 일단 내가 이해했을 때는 middleware 같은 아이라고 이해했다. 자세히 살펴보자.Interceptor 전에..인프라
Spring의 세계는 무궁무진하고… 이번엔 validation을 group으로 묶을 수 있는 방법을 찾았다.검증 항목을 그룹화해서 필요한 곳에서 나눠 검증하는 것을 말한다.
이제 spring 기본 기능은 다 짜서 배포를 했는데, 정렬 관련해서 QA가 와가지고 봤더니 orderby 를 놓쳤다..!함수이름으로 정렬하기 (참고: https://melonicedlatte.com/2022/02/19/124300.html)처음에 한 방법은,
정렬할 것이 하나 더 있었음 ㅎㅅㅎ… 특정 데이터를 최신순으로 해달라고 했는데, Elasticsearch 상에 nested type으로 배열형태로 저장되어 있던 데이터들이라 이걸 어떡하지 싶었다. 그런데 생각해보니 저장이 될 때 배열의 가장 끝쪽부터 저장이 되는 형태니
Spring 개발을 하는데 분명 422 에러코드를 뱉어야하는데 400에러를 뱉는 것이다. 그래서 머임 ㅡㅡ 킹받네.. 하다가 찾아보니 다른분이 GlobalExceptionHandler라는 exceptionhandler를 @RestControllerAdvice 로 만들어
Spring 작업을 하다가 controller에서 바로 뷰를 띄울 일이 생겼는데, 기존에 사용하던 @RestController 에서 로딩이 잘 되지 않는것이다. 그런데 @Controller에서 잘됨! 이유가 뭐지? 🤔model 객체를 만들어 데이터를 담은 후에 vie
특정 path일때는 ControllerInterpreter를 거치지 않게 하고 싶었다. 동료분이 pointcut 에서 빼면 어떻게 될 것 같다고 해서 pointcut 를 찾아보다가 정리하고 싶어서 정리하게 되었다.pointcut 이전에 알아야할 것!Aspect Orie
스프링부트를 하다가 보니 클래스에서 의존성 주입을 할때 @Autowired 와 private final 의 차이에 대해 궁금해졌다.private final생성자 기반의 DI가장 권장하는 방식 : 이유는, 순환참조를 방지할 수 있고 테스트에 용이하다. 또한, final
SecurityConfig 를 다루다가, 인증필터를 만들어둔 것에서 발견한 게 있었다. 커스텀한 인증필터가 OncePerRequestFilter 를 상속받아서 만들었던데 이 filter에 대해 잘 모르는 것 같아서 정리하게 되었다.우선, 필터는 웹 어플리케이션에 등록해
헛쒸 강의를 듣다가 (내 기준) 대발견해버림..맨날 spring 컴파일할 때 돌리면 전체가 컴파일되어 시간이 오래걸렸다. 그래서 항상 답답했는데.. 강사님이.. 특정 파일만 수정후에 그 파일만 compile 하는 방법을 알려주셨다.특정 파일 수정후, 해당 파일에서 아
강의에서 thymeleaf 를 사용해서 intellj 에서 사용을 하고 있는데, 워닝이 떴다… ⚠️ 머선의미?..나는 intellj community 를 사용하고 있었다. 확인해보니 Attribute th:~ is not allowed here. 이라는 워닝이 떴다.검
spring 수업중, ModelAttribute 이라는 어노테이션에 대해 알게 되었는데 토이플젝했을 때 사용한 적이 없어서 뭐지? 하고 찾아보게되었다.@ModelAttribute는 클라이언트가 전송하는 폼(form) 형태의 HTTP Body와 요청 파라미터들을 생성자나
Spring 을 사용하게 되면서, resttemplate 를 사용하는 것을 보게 되었는데 자세히 알고 있지 않은듯하여 정리하게 되었다.Spring에서 Rest방식의 API를 호출할 수 있게 해주는 Spring 내장 클래스이다. Rest API 서비스를 요청하여 응답받을
개발을 하다가 문득 static, final, static final의 사용방법을 애매하게 알고 있다는 생각에 이번 글을 작성하게 되었다.클래스의 모든 인스턴스가 액세스할 수 있는 전역변수객체를 생성하지 않고 사용할 수 있는 필드와 메서드상수가 아니기에 언제나 변경이
intellj에서 junit 테스트를 돌리다가 위와 같은 오류가 발생해부렸다 ㅠㅠ세팅에서 빌드툴을 intellj가 아닌 gradle로 세팅해놔서 생긴 문제였음!Settings > Build,Execution,Deployment > Build Tools > Gradle
alert으로 Maximum upload size of 1024 bytes exceeded 파일 에러가 잘 뜨다가 갑자기 Maximum upload size exceeded로만 뜨기 시작했다. ㅠㅠ확인해보니 특정 서비스내에서 파일의 맥시멈 사이즈를 확인하도록 구현해놨는