전체 글119 implements vs. extends 자바에서 extends와 implements 는 클래스와 인터페이스 간의 상속을 구현할 때 사용한다. 1.implements (=심다!) 클래스 간의 관계를 나타낸다. 하나의 클래스와 관계지을 수 있다. 클래스가 인터페이스를 구현하면 해당 클래스는 인터페이스의 모든 메서드를 반드시 구현해야 한다. 상속하는 인터페이스는 메서드의 메서드명, 매개변수 등의 시그니처를 정의한다.클래스는 이러한 메서드를 구현해야 한다. 2.extends (=넓히다!) 클래스 간의 상속을 정의한다. 한 클래스가 다른 클래스를 상속받을 때 사용한다. 여러 클래스가 하나의 클래스를 상속받을 수 있으며 오버라이드 형식으로 메소드를 새롭게 구현할 수 있다. 2023. 10. 12. @NonNull vs. @NotNull vs. @Column(nullabe = false) 프로젝트를 마무리하며 리팩토링을 시작했다. 객체 생성시 @NonNull을 사용했는데(첫 프로젝트에서는 이런 방식으로 했다. 왜냐면 단순히 null값을 받으면 안된다고 생각했기 때문) 프로젝트 진행하면서 validation의 @NotNull로 수정했다.(프로젝트에서 validation을 사용하기 때문) 하지만 마지막 리팩토링 기간에는 @Column(nullabe = false)으로 수정하면서 이 세 녀석에 대한 궁금증이 생겼다. 1. @NonNull @NonNull은 주로 lombok 라이브러리에서 호출해서 많이 사용한다. 주로 NullPointException을 방지하기 위해 사용한다. 메서드의 매개변수나 객체의 필드가 null이 아니어야 호출한다. 즉, 해당 생성자를 호출할 때 null값을 전달하지 않.. 2023. 10. 12. HttpMediaTypeNotAcceptableException: No acceptable representation [406에러] 액세스 토큰 발급 테스트 코드 작성 중에 처음으로 406이란 에러를 발견했다. HttpMediaTypeNotAcceptableException 예외는 클라이언트가 요청한 미디어 타입이 서버에서 제공할 수 없을 때 발생한다. //when ResultActions resultActions = mockMvc.perform(post(url) .contentType(MediaType.APPLICATION_JSON_VALUE) .content(requestBody)); //then resultActions .andExpect(status().isCreated()) //에러 난 부분 .andExpect(jsonPath("$.accessToken").isNotEmpty()); 미디어 타입은 잘 설정했는데 컨트롤러에서 .. 2023. 10. 10. [Thymeleaf] URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs) ultimate 쓰다가 오랜만에 community 쓰게 됐다. 갑자기 html에서 오류 발생 사실 오류까진 아니고 URI가 등록이 되지 않았다는 알람 발생. 개발을 하면 thymeleaf를 사용할 수는 있긴 하다. 하지만 IDE에서 자동완성을 지원하지 않기 때문에 우리는 작업을 해줘야 한다.. 인텔리제이 community에서만 발생하는 알람! 그러면 요거 한 번 해주고( 당연히 안 될 테지만 ) 요고 해주면 된다. 2023. 10. 6. .NullPointerException: Cannot invoke "mini.project.HotelReservation.User.Data.Entity.User.getName()" because "user" is null 호텔 예약 미니 프로젝트 리팩토링하는데 다음과 같은 에러 발생 회원가입 후 회원 정보를 수정하고 완료하는 과정에서 에러가 발생했는데.. 아니 이게 어떻게 null이 될 수 있어!! 이것 저것 검색해보니 어노테이션 에러일 것 같았다. 해결 방법 UserInfoDto에 @NoArgsConstructor 어노테이션 달아주기 오류 원인 NullPointException은 어떤 객체나 변수를 참조하려고 할 때 해당 객체나 변수가 null인 상태에서 호출할 때 발생하는 exception이다. 내가 1. user객체를 초기화하지 않고 사용한 경우 2. 메소드나 속성을 호출하기 전에 객체를 할당하지 않은 경우 3. 매소드 호출시에 넘겨준 무언가 중에 null이 포함된 경우 크게 이 세가지 실수를 범했기 때문이다. @N.. 2023. 10. 6. db연동하기 workbech 켜서 빨간세모 버튼 클릭하쇼 스키마 만들고 apply! 인텔리제이 오른쪽 창에 데이터베이스 들어가면 + 버튼 눌러서 데이터소스에 mysql 들어가면 위와같은 창이 나온다. 포트와 사용자 창, 그리고 비밀번호 설정을 해준 다음에 연결테스트 한번 해주고! 확인 눌러준다. + 테스트 코드는 h2를 사용하기 때문에 h2 연동 방법 또한 적어보자면 일단 cmd창에서 h2를 실행하면 아래와 같은 창이 서버에 뜬다. 그럼 jdbc url을 복사해서 다시 인텔리제이로 돌아와 데이터 소스에 h2를 추가해준다. 이때 복사한 url을 해당 칸에 붙여넣어주고 사용자와 포트번호 등 사용자 설정에 맞춰 해주면 된다. 2023. 9. 13. 이전 1 ··· 9 10 11 12 13 14 15 ··· 20 다음