랄라

[TIL 20일차]25.03.14 본문

내일배움캠프/TIL

[TIL 20일차]25.03.14

devdaeun 2025. 3. 15. 00:46

오늘의 질문: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