728x90

전체 글 122

getBean: IoC 컨테이너에서 빈을 조회하는 방법

Spring Framework의 핵심 개념 중 하나는 IoC (Inversion of Control) 입니다. IoC는 객체의 생성과 의존성 관리를 Spring 컨테이너가 담당하는 원칙으로, 개발자는 객체 간의 의존성을 직접 관리하는 대신 Spring이 이를 관리하게 됩니다. 이때 getBean 메서드는 Spring IoC 컨테이너에서 관리되는 객체인 빈(Bean) 을 가져오는 중요한 역할을 합니다.이번 글에서는 getBean 메서드의 사용법과 원리에 대해 자세히 살펴보겠습니다.1. getBean 메서드란?getBean은 Spring IoC 컨테이너에서 관리되는 빈(Bean)을 가져오는 메서드입니다. Spring에서는 객체를 빈이라고 부르며, 이 빈들은 ApplicationContext나 BeanFact..

Spring 2025.03.23

소프트 컬럼(Soft Column)이란?

소프트웨어 및 데이터베이스(DB) 관리에서도 "소프트 컬럼(Soft Column)"이라는 개념이 유사하게 사용될 수 있습니다. 이 경우, 데이터의 유연한 관리를 위해 특정 속성(컬럼)을 추가하여 데이터를 직접 삭제하지 않고 상태를 변경하는 방식을 의미할 수 있습니다.2.1 소프트 딜리트(Soft Delete)와의 관계소프트 딜리트(Soft Delete)는 데이터를 실제로 삭제하지 않고, 특정 컬럼 값을 변경하여 '삭제된 것처럼' 보이게 하는 기법입니다. 예를 들면 다음과 같은 방식입니다.-- 'is_deleted' 컬럼을 사용한 소프트 딜리트UPDATE users SET is_deleted = 1 WHERE user_id = 123;is_deleted가 1이면 논리적으로 삭제된 데이터로 간주됩니다.실제 ..

SQL 2025.03.17

AWS에서 MySQL 원격 환경 구축하기

AWS에서 MySQL을 사용하여 원격 환경을 구축하는 방법은 EC2 인스턴스에 MySQL을 설치하고, 이를 통해 원격으로 접근하는 것입니다. 이 과정은 다음과 같은 단계로 이루어집니다.1. EC2 인스턴스 생성 및 설정EC2 인스턴스 생성AWS Management Console에 로그인합니다.EC2 서비스로 이동하여 인스턴스를 생성합니다.적절한 인스턴스 유형을 선택하고, 운영 체제로 Ubuntu나 Amazon Linux를 선택할 수 있습니다.인스턴스에 MySQL 설치SSH를 사용하여 EC2 인스턴스에 접속합니다.MySQL을 설치합니다. sudo apt update sudo apt install mysql-server 2. MySQL 원격 접속 설정MySQL 설정 파일 수정MySQL이 모든 IP에서 접속을..

Cloud 2025.03.17

@Bean의 의미와 사용 방법

목적과 기능@Bean은 메소드 레벨 어노테이션으로, 해당 메소드가 Spring 컨테이너에 의해 관리될 빈을 생성한다는 것을 선언합니다. XML 설정의 요소와 직접적으로 대응됩니다.주요 특징빈 정의: @Bean으로 어노테이션된 메소드가 반환하는 객체는 Spring 애플리케이션 컨텍스트에 빈으로 등록됩니다.설정 컨텍스트: @Bean 메소드는 주로 @Configuration 어노테이션이 붙은 클래스 내에서 선언됩니다. 이는 해당 클래스가 빈 정의의 소스임을 나타냅니다.커스터마이제이션: 프로그래밍 방식으로 빈을 생성하고 구성할 수 있어, 인스턴스화와 초기화 과정을 세밀하게 제어할 수 있습니다.사용법과 이점의존성 주입@Bean 메소드는 매개변수를 받을 수 있어, 빈 간의 의존성을 정의할 수 있습니다.@Bean ..

SpringBoot 2025.03.05

@Configuration과 ApplicationContext

@Configuration과 ApplicationContext는 Spring의 의존성 주입 및 빈 관리 시스템의 핵심 구성 요소입니다.@Configuration@Configuration은 클래스가 하나 이상의 @Bean 메서드를 선언한다는 것을 나타내는 데 사용되는 어노테이션입니다. 이 어노테이션은 Spring 컨테이너의 빈 정의를 정의하는 데 사용됩니다. 클래스에 @Configuration 어노테이션이 붙으면빈 정의의 소스 역할을 합니다.XML 기반 구성과 달리 Spring 컨테이너의 프로그래밍 방식 구성을 가능하게 합니다.주요 특징:@Configuration 클래스는 @Bean 어노테이션이 붙은 메서드를 포함할 수 있습니다.@Component로 메타 어노테이션이 되어 있어 컴포넌트 스캐닝에 의해 자동..

SpringBoot 2025.03.05

@RestController 애너테이션

@RestController 애너테이션은 Spring Framework에서 RESTful 웹 서비스를 쉽게 개발하기 위해 제공되는 애너테이션입니다. 1. RESTful 웹 서비스 개발에 최적화@RestController는 @Controller와 @ResponseBody를 결합한 형태로, 메서드의 반환값이 HTTP 응답 본문으로 직접 전달됩니다. 즉, JSON이나 XML 같은 데이터 형식으로 응답을 반환하는 RESTful API를 개발할 때 매우 간편하게 사용할 수 있습니다2. 간소화된 코드@ResponseBody를 메서드마다 붙일 필요가 없습니다. @RestController를 클래스 레벨에 선언하면 해당 클래스의 모든 메서드가 자동으로 HTTP 응답 본문에 데이터를 반환하도록 설정됩니다데이터 객체를 반..

SpringBoot 2025.03.04

Thymeleaf

Thymeleaf는 Java 기반의 서버 사이드 템플릿 엔진으로, 주로 웹 애플리케이션에서 동적인 HTML 페이지를 생성하는 데 사용됩니다. 이 템플릿 엔진은 Spring Framework와의 통합이 뛰어나며, Spring Boot 프로젝트에서 자주 활용됩니다. Thymeleaf의 주요 기능서버 사이드 렌더링: Thymeleaf는 서버에서 데이터를 처리하고 이를 HTML에 삽입하여 렌더링합니다. 이는 사용자가 요청할 때마다 서버가 HTML을 생성하여 클라이언트에 전달하는 방식입니다13.HTML5 표준 준수: Thymeleaf는 HTML5를 기반으로 설계되어 있어, 기존의 HTML 파일을 그대로 사용할 수 있으며, 프로토타입 개발 시에도 유용합니다13.강력한 템플릿 기능: 조건부 렌더링(th:if, th:..

SpringBoot 2025.03.04

SpringBoot에서 사용할만한 모니터링 도구 비교

특징 VisualVMPrometheus/Grafana주요 목적JVM(Java Virtual Machine)의 성능 모니터링 및 디버깅애플리케이션 및 시스템의 메트릭 수집(Prometheus)과 시각화(Grafana)데이터 수집 방식JVM 내부 데이터를 직접 수집Prometheus는 HTTP 엔드포인트에서 메트릭을 스크랩(pull)데이터 저장데이터는 휘발성으로, 실시간 분석에 초점Prometheus는 시계열 데이터베이스에 데이터를 저장시각화 기능기본적인 그래프와 테이블 제공Grafana는 고급 대시보드와 다양한 시각화 옵션 제공확장성JVM에 국한된 모니터링Prometheus는 클라우드 네이티브 환경(Kubernetes 등)과 통합 가능, Grafana는 다양한 데이터 소스와 통합 가능알림 기능없음Prome..

SpringBoot 2025.03.04

URL 인코딩 (URLEncoder) & URL 디코딩 (URLDecoder)

URL 인코딩 (URLEncoder) String msg = URLEncoder.encode("아이디를 잘못 입력하셨습니다.", "utf-8"); 이 코드는 한글 메시지를 URL 안전 형식으로 인코딩합니다. 결과는 다음과 같을 것입니다. %EC%95%84%EC%9D%B4%EB%94%94%EB%A5%BC+%EC%9E%98%EB%AA%BB+%EC%9E%85%EB%A0%A5%ED%95%98%EC%85%A8%EC%8A%B5%EB%8B%88%EB%8B%A4.  URL 디코딩 (URLDecoder)id=${URLDecoder.decode(param.id)} 이 코드는 URL 인코딩된 파라미터 값을 원래 형태로 디코딩합니다. 예를 들어, URL이 http://example.com?id=%EC%95%84%EC%9D%B..

IT 2025.02.27

JSTL의 <c:url> 태그

JSTL(JavaServer Pages Standard Tag Library)은 JSP에서 자주 사용하는 기능을 태그 형태로 제공하여, 코드의 가독성을 높이고 유지보수를 쉽게 할 수 있도록 돕습니다. 그중에서도 태그는 URL을 동적으로 생성할 때 유용하게 사용됩니다. 태그의 주요 기능컨텍스트 경로 자동 추가URL 인코딩 자동 처리세션 ID 자동 추가 (필요한 경우) 기본 사용법링크 주요 속성value: 생성할 URL (필수)var: URL을 저장할 변수 이름scope: 변수의 범위 (page, request, session, application)context: 다른 컨텍스트의 URL을 생성할 때 사용파라미터 추가  변수 사용 예시 사용자 프로필주의사항은 상대 경로에만 컨텍스트 경로를 추가합니다.절..

JSP 2025.02.27
728x90