Spring Annotation 13. @Bean

@Bean이란? @Bean은 스프링의 주요 어노테이션 중 하나로, 개별 빈을 정의하고 생성하는 데 사용됩니다. @Bean 어노테이션은 @Configuration이 붙은 설정 클래스에서 메서드에 적용되며, 해당 메서드가 반환하는 객체를 스프링 컨테이너에서 관리하는 빈으로 등록합니다. 이렇게 생성된 빈은 스프링 컨테이너에서 의존성 주입을 통해 다른 빈들에 주입될 수 있습니다. @Bean 예제 package com.example.demo; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { ..

Spring Annotation 12. @Configuration

@Configuration이란? @Configuration은 스프링의 주요 어노테이션 중 하나로, 클래스가 스프링의 빈 정의를 포함하는 설정 클래스임을 나타냅니다. 설정 클래스는 애플리케이션의 전체 설정이나 특정 부분의 설정을 포함하며, @Bean 어노테이션이 붙은 메서드를 사용하여 빈을 정의하고 생성합니다. @Configuration 어노테이션을 사용하면, 스프링 컨테이너가 해당 클래스의 인스턴스를 생성하고 관리할 수 있습니다. @Configuration 예제 package com.example.demo; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration..

Spring Annotation 11. @Repository

@Repository 예제 package com.example.demo; import org.springframework.stereotype.Repository; @Repository public class MyRepository { public String getData() { // 데이터베이스나 다른 저장소로부터 데이터를 가져오는 로직 return "Sample data"; } } 예제에서 MyRepository 클래스는 데이터 액세스 로직을 포함하며 @Repository 어노테이션이 붙어 있어서 스프링 컨테이너에 의해 관리됩니다. MyRepository 클래스의 getData() 메서드는 데이터베이스나 다른 저장소로부터 데이터를 가져오는 로직을 수행합니다. @Repository는 데이터 액세스 계층..

Spring Annotation 10. @Service

스프링 프레임워크에서는 클래스를 빈(Bean)으로 등록하여 의존성 주입(Dependency Injection)과 관리를 쉽게 할 수 있도록 어노테이션을 사용합니다. @Service란? @Service는 스프링의 주요 어노테이션 중 하나로, 비즈니스 로직을 포함하는 클래스를 스프링 빈으로 등록하려 할 때 사용합니다. @Service는 @Component를 상속받아 작성되어 있으며, 특정 계층을 나타내기 위해 사용됩니다. 스프링 컨테이너는 @Service가 붙은 클래스를 찾아서 빈으로 등록하며, 이 과정은 컴포넌트 스캔(Component Scan)이라고 합니다. @Service 예제 package com.example.demo; import org.springframework.beans.factory.ann..

Spring Annotation 9. @Component

스프링 프레임워크에서는 클래스를 빈(Bean)으로 등록하여 의존성 주입(Dependency Injection)과 관리를 쉽게 할 수 있도록 어노테이션을 사용합니다. @Component란? @Component는 스프링의 주요 어노테이션 중 하나로, 클래스를 스프링 빈으로 등록하려 할 때 사용합니다. 이 어노테이션을 사용하면 스프링이 해당 클래스의 인스턴스를 생성하고, 관리 및 의존성 주입을 수행할 수 있습니다. 스프링 컨테이너는 @Component가 붙은 클래스를 찾아서 빈으로 등록하며, 이 과정은 컴포넌트 스캔(Component Scan)이라고 합니다. @Component 예제 package com.example.demo; import org.springframework.stereotype.Compone..

Spring Annotation 8. @ComponentScan

스프링 프레임워크에서는 @ComponentScan 어노테이션을 사용하여 특정 패키지와 그 하위 패키지를 스캔하여 @Component, @Service, @Repository, @Controller 등의 어노테이션이 붙은 클래스를 찾아 빈으로 등록할 수 있습니다. 이를 통해 스프링 빈 컨테이너가 해당 클래스들을 관리하게 되고, 의존성 주입(Dependency Injection)을 수행할 수 있습니다. @ComponentScan이란? @ComponentScan은 스프링 프레임워크의 어노테이션 중 하나로, 특정 패키지와 그 하위 패키지를 스캔하여 @Component, @Service, @Repository, @Controller 등의 어노테이션이 붙은 클래스를 찾아 빈으로 등록하는 역할을 합니다. 기본적으로 ..

Spring Annotation 7. @Transactional

스프링에서 @Transactional 사용법 및 예제 @Transactional은 스프링(Spring) 프레임워크에서 제공하는 어노테이션으로, 트랜잭션 관리를 선언적으로 처리할 수 있게 해줍니다. 이 어노테이션을 사용하면 메서드가 트랜잭션 경계에서 실행되며, 예외가 발생하면 자동으로 롤백됩니다. 이를 통해 데이터베이스 작업을 안전하게 처리할 수 있습니다. 예제 1. 스프링 데이터 JPA를 사용하는 Customer 엔티티와 CustomerRepository 인터페이스 생성 import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.pers..

Spring Annotation 6. @Autowired

스프링에서 @Autowired 사용법 및 예제 @Autowired는 스프링(Spring) 프레임워크에서 사용되는 어노테이션으로, 자동 의존성 주입(Automatic Dependency Injection)을 수행합니다. 이 어노테이션을 사용하면 개발자가 직접 의존성을 주입하는 코드를 작성할 필요 없이, 스프링이 자동으로 필요한 빈(Bean)을 주입해 줍니다. 이를 통해 개발자는 비즈니스 로직에 집중할 수 있습니다. 예제 1. 서비스 클래스 생성 import org.springframework.stereotype.Service; @Service public class GreetingService { public String getGreeting(String name) { return "안녕하세요, " + n..