728x90

Spring 25

Spring - 자동 Bean 등록

Bean 객체의 수가 많을 수록 등록하기 어려우므로 @Component와 @ComponentScan 어노테이션을 사용하여 Bean 등록을 자동화 시킵니다. 자동화 할 객체들에 대해서 @Component어노테이션을 지정하는데 이때 속성값에 식별자를 주면 해당 식별자가 객체의 식별자가 됩니다. @ComponentScan의 basePackages속성에 명시된 패키지와 그 하위 패키지에서 @Component 어노테이션이 지정된 객체들에 대해 검색하고 객체를 생성하게 됩니다. @ComponentScan과 @Componenet를 사용할 때 명시적으로 특정 대상에 대하여 스캔 대상에서 제외시킬 수 있습니다. excludeFilter속성을 사용하여 구현하며 그 값으로 @Filter를 사용합니다. type = Filte..

Spring - 자동 의존 주입

자동 의존 주입 @Autowired 어노테이션을 사용하여 자동으로 관련된 의존 주입을 처리해주는 방식입니다. @Autowired 어노테이션을 필드나 setter메소드에 사용하면 필드나 메소드의 인자에 Bean 객체를 사용하고 수행하며 설정객체에서 DI부분을 삭제하여 간단하게 표현이 가능합니다. 이때 설정 클래스에서는 기본 생성자를 사용하여 객체를 생성하므로 기본 생성자를 작성하여야 합니다. 기본적으로 @Autowired는 객체 타입을 통해 주입하므로 상속관계는 하나의 타입으로 인지하게 됩니다. 이때 사용하는것이 @Qualifier어노테이션입니다. @Autowired 어노테이션이 사용되는 곳에 @Qualifier 어노테이션을 사용하여 식별자를 사용하고 설정 클래스에서 내가 주입하고자 하는 클래스를 @Qua..

Spring - DI(의존주입)

의존이란 클래스 내부에서 다른 클래스의 메소드를 사용하는 것으로 클래스의 변화에 영향을 받는 관계를 말합니다. 의존 객체의 직접 생성하는 경우는 클래스 내부에서 의존 객체를 new 연산자를 사용하여 직접 생성하여 사용하는 방식을 말합니다. 의존 객체를 직접 생성하는 경우 다형성이 불가하여 유지보수 측면에서 문제가 생깁니다. 의존 주입, 즉 DI의 경우에는 생성자나 setter메서드를 통해 객체를 받아오는 방식을 말합니다. 의존 주입은 의존 클래스를 변경할 때 사용됩니다. 예를 들어 A라는 클래스를 상속 받는 B클래스를 사용해야 할 때 직접생성의 경우 클래스 내부에서 new 연산자를 통해 객체 생성하는 부분을 모두 바꿔 주어야 합니다. 그러나 의존 주입을 통해 생성자나 setter 메서드를 사용할 경우 클..

Spring - Bean 컨테이너

스프링의 컨테이너의 주요기능은 객체의 생성, 의존주입, 초기화, 객체제공 등 전반적인 객체 관리를 담당합니다. 스프링에서는 Bean 객체를 관리하기 때문에 Bean 컨테이너라고도 합니다. 컨테이너의 서비스 제공 방식에는 3가지가 있습니다. 1. 컨테이너가 제공하는 기본 객체 사용 2. 어노테이션을 통해 지시 3. 인터페이스 구현 웹 어플리케이션에서 스프링 컨테이너는 web.xml을 통해 Bean 컨테이너 설정 파일을 지정하여 프로젝트가 시작 될 때 자동으로 생성되게 하여 생성합니다. 설정 파일에는 두가지 방식이 있습니다. 자바 설정과 xml 설정 방식이 있습니다. 이 두 설정 모두 ApplicationContext라는 조상을 가지게 됩니다. 이 클래스는 객체의 검색, 관리에 대한 전반적인 기능을 정의하고..

Spring(스프링)의 기초 - Maven(메이븐) 프로젝트

스프링5 - 최범균 - 가메출판사 책을 참조하여 공부한 내용입니다. 스프링은 웹 어플리케이션을 작성하는데 도움이 되는 프레임워크입니다 스프링의 주요 기능 - 의존 주입 - AOP - MVC 웹 프레임워크 - DB연동 지원 스프링은 컨테이너 방식으로 동작되는데 3가지 방식으로 서비스를 제공할 수 있습니다. 1) 객체사용 2) 어노테이션 사용 3) 인터페이스 구현 사용 먼저 스프링을 사용하는데 있어서 사용자에게 자동으로 라이브러리의 추가와 클래스 설정 기능을 제공하기 위해 메이븐 프로젝트를 사용합니다. 메이븐 프로젝트의 폴더 구조는 다음과 같습니다. 프로젝트 폴더 - pom.xml : 메이븐 프로젝트의 설정 정보 관리 파일 - src - main - java : 자바소스코드 존재 - resources : ...