랄라
[TIL 20일차]25.03.14 본문
오늘의 질문:equals와 hashCode는 왜 함께 재정의해야 할까요?
*답변
모범답안
equals와 hashCode 메서드는 객체의 동등성 비교와 해시값 생성을 위해서 사용할 수 있습니다. 하지만, 함께 재정의하지 않는다면 예상치 못한 결과를 만들 수 있습니다. 가령, 해시값을 사용하는 자료구조(HashSet, HashMap..)을 사용할 때 문제가 발생할 수 있습니다.
오늘의 질문:@Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요.
*답변
@Controller 컨트롤러 클래스를 표시하기위한 bean 어노테이션
@Service 서비스 클래스를 표현하기위한 bean 어노테이션
@Repository 데이터베이스와 연결하여 수행되는 클래스를 표현하기위한 bean 어노테이션
@Component는 사용해보지않아서 잘 모르겠다.
모범답안
- @Component는 가장 일반적인 형태의 어노테이션으로, 특정 역할에 종속되지 않는 일반적인 Spring Bean을 나타냅니다. 공통 기능을 제공하는 유틸리티 클래스나, 특정 계층에 속하지 않는 일반적인 컴포넌트를 정의할 때 사용됩니다.
- @Service는 비즈니스 로직을 수행하는 클래스에 사용되며 서비스 레이어의 Bean을 나타냅니다.
- @Controller는 Spring MVC에서 웹 요청을 처리하는 컨트롤러 클래스에 사용되며 프레젠테이션 레이어의 Bean을 나타냅니다.
- @Repository는 데이터베이스와의 상호작용을 수행하는 클래스에 사용되며. 데이터 액세스 레이어의 Bean을 나타냅니다.
오늘은 프로젝트를 위해 msa 기반으로 멀티모듈설계를 진행했습니다.
루트 모듈과 gateway,eureka 모듈을 팀원들과 함께 상의하며 작성을 진행하였고, user-service 서브모듈을 작성하여
gateway 작동을 확인하였습니다.
작동확인 중 발생한 오류사항으로는, gateway의 port 번호인 8080으로 작동확인용 url을 호출하였을 때 503에러 페이지가 뜨는 문제가발생했습니다.
해당문제를 해결하기위해 user-service에 작성한 application.yml 파일과 gateway의 application.yml파일을 확인하였고,
결과적으로 user-service의 application 파일에서
eureka:
client:
register-with-eureka: true # Eureka에 서비스 등록
fetch-registry: true # Eureka에서 서비스 목록 가져오기
두가지의 설정이 빠져있었다는것을 알게되었습니다.
application.yml 파일을 수정하여 다시 실행을 진행하여 정상적으로 응답이 도출되는것을 확인했습니다.
'내일배움캠프 > TIL' 카테고리의 다른 글
| [TIL 22일차]25.03.18 (0) | 2025.03.20 |
|---|---|
| [TIL 21일차]25.03.17 (0) | 2025.03.20 |
| [TIL 19일차]25.03.12 (0) | 2025.03.13 |
| [TIL 18일차]25.03.11 (0) | 2025.03.13 |
| [TIL 17일차]25.03.10 (0) | 2025.03.10 |