반응형

IT is True 550

[Spring] 스프링 의존성 주입(DI : Dependency Injection) 4가지 방법 (의존 관계 자동 주입)

의존성 주입(DI : Dependency Injection) 방법 의존성 주입에는 4가지 방법이 존재한다. 생성자 주입 수정자 주입 (setter 주입) 필드 주입 일반 메서드 주입 스프링 공식 문서에서는 생성자 주입을 권장하고 있다. 의존 관계가 변경되지 않을 경우 : 생성자 주입 의존 관계가 선택적이거나 변경 가능한 경우 : 수정자 주입(setter 주입) 생성자 주입 생성자 주입은 생성자를 통해서 의존 관계를 주입받는 방법이다. 생성자에 @Autowired를 하면 스프링 컨테이너에 @Component로 등록된 빈에서 생성자에 필요한 빈들을 주입한다. 생성자 주입의 특징 생성자 호출 시점에 1번만 호출되는 것을 보장한다. 불변과 필수 의존 관계에 사용한다. 생성자가 1개만 존재하는 경우 @Autowi..

[Spring] 자바 기반 컨테이너 설정 - @Bean과 @Configuration

자바 기반 설정 자바 코드로 직접 컨테이너를 설정하는 데 사용되는 어노테이션 2가지가 있다. @Configuration @Bean 위 어노테이션은 메서드가 스프링 컨테이너에서 관리할 새 객체를 인스턴스화, 구성 및 초기화한다는 것을 나타내는데 사용한다. @Configuration public class AppConfig { @Bean public AppService appService() { return new AppServiceImpl(); } } XML 설정 방식 스프링 컨테이너를 인스턴스화 하는 방법 스프링 컨테이너를 인스턴스화 하는 방법에는 어노테이션을 통해 Config 클래스를 설정하는 방법이 있다. 스프링 3.0 버전부터는 AnnotationConfigApplicationContext를 도입하..

[Spring] 스프링 빈 생명주기 콜백

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링 빈 생명주기 콜백 데이터베이스 커넥션 풀이나, 네트워크 소켓 등 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하기 위해 객체의 초기화와 종료 작업을 해야 한다. 스프링 빈 생명주기 콜백은 스프링 빈이 생성된 이후 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 호출하여 초기화나 종료 시점을 알려..

[Spring] 스프링 빈 스코프(Bean Scope)란 무엇인가?

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 특정 Bean 정의에서 생성된 개체에 연결할 다양한 의존성 및 구성 값뿐만 아니라 특정 bean 정의에서 생성된 객체의 범위도 제어할 수 있다. 빈 스코프(Bean Scope) 빈 스코프는 빈이 존재할 수 있는 범위를 뜻한다. 스프링에서는 싱글톤(Singletone)과 프로토타입(Prototype) 빈 스코프, 스프링 MVC 웹 애플리케이션에서의 웹 관련 스코프를 제공하고..

[JSP] HttpServletResponse 정리

Intro JSP 라이브러리에서는 HTTP 메시지를 편리하게 조회하고 사용할 수 있도록 도와주는 HttpServletRequest, HttpServletResponse 객체를 제공하고 있다. HttpServletResponse HTTP 응답 메시지를 개발자가 직접 생성해도 되지만 매우 번거롭다. 서블릿(Servlet)은 개발자가 HTTP 응답 메시지를 편리하게 사용할 수 있도록 생성해 준다. HttpServletResponse는 HTTP 응답 메시지를 생성하는 역할을 한다. HTTP 응답 메시지 생성 HTTP 응답 코드 지정(1xx, 2xx, 3xx, 4xx, 5xx) 헤더 생성 바디 생성 편의 기능 Content-Type 편리하게 지정 쿠키의 편리한 생성 Redirect 기능 HttpServletRes..

[JSP] HttpServletRequest 정리

Intro JSP 라이브러리에서는 HTTP 메시지를 편리하게 조회하고 사용할 수 있도록 도와주는 HttpServletRequest, HttpServletResponse 객체를 제공하고 있다. HttpServletRequest HTTP 요청 메시지를 개발자가 직접 파싱해도 되지만 매우 불편할 것이다. 서블릿(Servlet)은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 HTTP 메시지를 대신 파싱한다. 이렇게 파싱된 메시지를 HttpServletRequest 객체에 담아서 제공하는 것이다. 즉, HttpServletRequest는 서블릿이 HTTP 요청 메시지를 파싱한 결과를 담은 객체이다. HttpServletRequest를 사용하면 HTTP 요청 메시지를 편리하게 조회할 수 있게 된다. ..

[Spring] 스프링 빈(Bean)이란 무엇인가?

빈(Bean) 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다. 빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. @Bean 어노테이션을 통해 메서드로부터 반환된 객체를 스프링 컨테이너에 등록한다. 빈은 클래스의 등록 정보, Getter/Setter 메서드를 포함하며, 컨테이너에 사용되는 설정 메타데이터로 생성된다. 설정 메타데이터 : XML 또는 자바 어노테이션, 자바 코드로 표현하며, 컨테이너의 명령과 인스턴스화, 설정, 조립할 객체 등을 정의한다. 빈(Bean) 접근 방법 먼저, ApplicationContext(스프링 컨테이너)..

[Spring] 스프링 컨테이너(Spring Container)란 무엇인가?

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링 컨테이너(Spring Container) 스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트이다. 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공한다. 스프링에서는 자바 객체를 빈(Bean)이라 한다. 즉, 스프링 컨테이너는 내부에 존재하는 빈의 생명주기를 관리(빈의 생성, 관리, 제거 등)하며, 생성된 빈에게 추가..

[Java] 자바 문자열 시작 문자, 끝 문자 판단 - startsWith(), endsWith()

자바 언어를 통해 알고리즘 문제를 풀다 보면 특정 문자열의 시작 문자 또는 끝 문자를 판단해야 할 때가 있다. 이 경우 startsWith() 메서드와 endsWith() 메서드를 활용하면 쉽게 해결할 수 있다. startsWith() startsWith() 메서드는 특정 문자열이 입력받은 문자열로 시작하는 지를 판단하는 메서드이다. 반환 타입은 boolean으로 입력받은 문자열로 시작하는 경우 true, 그렇지 않으면 false를 반환한다. 입력 값이 문자열이기 때문에 공백도 인식하여 문자로 취급하니 이 점을 유의해야 한다. 사용 예제 startsWith(String prefix) public class Test { public static void main(String[] args) { String ..

[CS] 아키텍처(Architecture)란 무엇인가?

아키텍처(Architecture) 아키텍처는 건축 분야에서 유래된 용어로 요구 사항을 만족하는 건물을 짓기 위한 청사진과 같은 역할을 한다. 만약, 특정 건물을 짓는다면 여러 이해 관계자들이 만나 논의를 할 것이다. 이해 관계자들은 건물의 주인, 건물을 설계하는 건축가, 설계를 토대로 건물을 짓는 시공사 등이다. 이처럼 아키텍처는 이해 당사자들을 위한 어떤 건물이나 구조물에 대한 컨셉을 잡는 것으로부터 시작한다고 할 수 있다. 컴퓨터 공학에서도 이러한 아키텍처를 비슷한 의미로 사용하고 있다. 컴퓨터 분야에서는 크게 시스템 아키텍처, 소프트웨어 / 애플리케이션 아키텍처, 웹 애플리케이션 아키텍처 등이 있다. 시스템 아키텍처(System Architecture) 시스템 아키텍처는 하드웨어와 소프트웨어를 모두..

반응형