분명, JDBC를 사용할 때에는, TinyInt를 Integer로 매핑을 했던 기억이 있는데, 에러가 발생하여 찾아보니 TinyInt(1)의 경우에만 Boolean으로 매핑이 되는 걸 알 수 있었다.(당연하겠지만...) R2dbc에서는 다른 매핑으로 작동될 까 걱정했지만, 우선 tinyInt를 boolean으로 매핑하는 점은 jdbc와 동일 한 것 같다. https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-type-conversions.html MySQL :: MySQL Connector/J 8.0 Developer Guide :: 6.5 Java, JDBC, and MySQL Types 6.5 Java, JDBC, and MySQL T..
java,springboot
Spring의 핵심 기능 DI(Dependency Injection), IoC(Inversion of Control). 오늘은 그 중 Spring에서 DI를 하는 3가지 방법에 대해 알아보고자 합니다. 그리고 마지막으로 생성자 주입 방식이 왜 가장 추천되는지 코드를 통해 살펴 보며 마무리 하겠습니다. 목차 DI 란? DI의 3가지 방법 필드 주입 Setter 주입 생성자 주입 BEST 방법 -> 생성자 주입 방식 생성자 주입을 사용해야 하는 이유로 넘어 가고 싶다면 바로 밑으로 쭉 내리시면 됩니다. DI 란? 구체적인 DI방식에 대해 알아보기 전에, 간단히 DI의 정의에 대해 알아 봅시다. DI(dependency injection), 의존성 주입은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉을 ..
프로젝트를 진행하다 아래와 같은 에러메시지를 만나, 어떻게 해결하는지 정리하고자 합니다. Implicit super constructor Cat() is undefined. Must explicitly invoke another constructor 원인 이 문제가 발생한 이유는 자식 클래스와 부모 클래스가 있을 때, lombok의 어노테이션으로는 super를 호출 할 수 없기 때문입니다. 무슨 말인지 아래 코드를 통해 살펴 보겠습니다. //lombok + 생성자 DI 방식 @Component @RequiredArgsConstructor public class Animal{ public String state; private final TestService service; } //lombok에서 제공하는..
스프링을 사용하다보면, 아래의 에러코드를 한 번쯤은 만나 봤을 겁니다. 해당 에러는 보통 DI를 하려고 할 때, 그 해당 컴포넌트가 Bean으로 등록 되지 않아서 생기는 메시지 입니다. 오늘 포스트에서는 Spring Container에 Bean으로 등록하는 2가지 방법에 대해 정리해보고자 합니다. Parameter 0 of constructor in hi.hispring.controller.MemberController required a bean of type 'hi.hispring.service.MemberService' that could not be found. Action: Consider defining a bean of type 'hi.hispring.service.MemberService..
글의 제목대로 vsCode환경에서, Gradle 툴을 이용해서 java파일을 빌드하는 과정을 처음부터 끝까지 찬찬히 정리해보고자 한다. 순서는 다음과 같으며, 이미 진행한 프로세스라면 그 다음 프로세스로 바로 넘어가면 될 것같다. JAVA 설치 및 vsCode Extension 설치 JAVA_HOME 환경변수 설정 1. JAVA(jdk) 설치 및 jdk는 라이센스문제로 대부분 openjdk를 사용한다고 하고, 실제로 나도 openjdk를 설치했다. 나는 현재시점에서 공식문서와 매우 많은 사람들이 추천하는 17버전을 설치하였다.(2023.01.30) 설치하는 방법은 꽤 있지만, 나는 homebrew를 이용하여 설치해보기로 했다. homebrew가 낯설었지만 사용하면 할 수록 정말 편한 것 같다. 1. In..
Spring 프로젝트를 진행하다, 아래와 같은 에러메시지를 만났다. 해결방법에 대해 간략히 정리해본다. 에러 메시지 parameter 1 of constructor in required a bean of type that could not be found 1. bean 등록 확인하기 에러메시지가 말하는 바는 명확하다, constructor의 1번째에 오는 인자에 필요한 bean이 제대로 등록이 안되어 있다는 것이다. 빈 등록을 하는 2가지 방법과 이에 대해 알아보고자 한다면 다음링크를 참고하자.(링크) 아래 코드를 통해, 어떤 것이 문제가 될 수 있는지 알아보자. @RestController @RequiredArgsConstructor public class Test{ private final TestR..