Intro ⭐ Spring을 사용하다 보면 @Component, @Service, @Repository 차이에 대해 한 번쯤 고민하게 됩니다. 처음에는 단순히 "다 Bean 등록 아니야?"라고 생각하기 쉽지만, 실제로는 설계 구조와 유지보수에 큰 영향을 주는 개념입니다. 이번 글에서는 단순 개념 설명을 넘어서 실무에서 언제 어떻게 써야 하는지까지 정리해보겠습니다. @Component @Component는 Spring에서 가장 기본이 되는 어노테이션으로, 클래스를 Bean으로 등록하는 역할을 합니다. 특정 계층에 속하지 않는 공통 기능 클래스에서 주로 사용됩니다.@Componentpublic class CommonUtil { public String hello() { return "hel..
Intro ⭐ Spring을 사용하다 보면 Bean 객체를 생성하고 주입받아 사용하는 경우가 대부분입니다.특히 Spring Bean Lifecycle(빈 생명주기)은 객체가 언제 생성되고, 언제 초기화되며, 언제 소멸되는지를 결정하는 중요한 개념입니다.예를 들어, 서버 기동 시 공통 코드를 미리 캐싱하거나, 외부 API 연결을 초기화하는 작업은 Bean Lifecycle을 이해해야만 올바르게 구현할 수 있습니다. 하지만 많은 경우 생성자와 초기화 시점(@PostConstruct)의 차이를 정확히 이해하지 못해 의도하지 않은 오류가 발생하기도 합니다.이번 글에서는 Spring Bean Lifecycle의 전체 흐름과 함께, 실무에서 자주 사용하는 초기화/소멸 방법을 정리해보겠습니다. Spring Bean..
Intro ⭐ 다른 시스템과 API 연동 시, 타 시스템 → 우리 시스템이 정상적인 호출이 되지 않는다고 할 경우 리눅스의 net-tools을 사용하여 해당 서비스가 연동할 포트에서 정상적으로 동작 중인지 확인할 수 있습니다. 대부분의 운영환경에서는 해당 Tool이 설치가 되어있을 테지만, 서버를 새로 구축한 경우 설치부터 진행하셔야 합니다. #CentOS yum install net-tools #Ubuntu apt-get install net-tools 서비스 포트 확인 우선적으로, 서비스를 제공할 프로그램이 연동 협의 시 고지한 포트에 정상적으로 작동 중 인지를 확인합니다. netstat -anltp 방화벽 확인 서비스는 정상적으로 구동 중이나, 타 시스템에서 접근이 되지 않을 경우 방화벽을 확인해 ..
Intro ⭐ MSSQL에서는 FORMAT 함수를 통하여 숫자 및 날짜 자료형의 형식을 지정할 수 있습니다. 주로 금액에 천 단위로 쉼표를 입력하거나, MSSQL DATETIME 형태의 날짜(2023-12-11 16:35:12.437)를 원하는 형태(2023년 12월 11일 오후 4시)로 변형할 때 사용되곤 합니다. 기본적으로 대소문자를 구분하지 않는 것에 반하여 FORMAT 함수의 foramt에는 대소문자를 구분하며, 지원되는 예약어가 다양합니다. 본문의 표 이외에도 여러 예약어가 존재하니, 만일 생각하신 형태로 반환이 되지 않을 경우 References에 링크되어 있는 공식 문서를 참조하여 예약어를 사용하신 것은 아닌지 확인해 보시면 좋습니다. FORMAT 기본 문법 FORMAT (value, for..