본문 바로가기
반응형

전체 글163

Dependency, DI, Assembler (의존, 의존 주입, 주입기) 개념 정리 스프링의 주요 특징 중 하나인 DI에 대해 알아보려고 한다. 스프링에 적용된 DI에 대해 배우기 전에 의존과 의존 주입이 무엇인지 알아보자. 객체 간의 의존은 변경 때문에 영향을 받는 관계이다. 이를 처리하는 방식에 의존 주입이 있으며, 주입기를 통해 의존성을 주입할 수 있다. 의존(dependency)과 의존 주입(DI: Dependency Injection) 여기서 말하는 의존(dependency)은 객체 간의 의존이며, 변경에 의해 영향을 받는 관계를 의미한다. 즉 변경에 따른 영향이 전파되는 관계다. 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 의존한다고 표현한다. 예를 들어 클래스 A가 클래스 B의 메서드를 사용한다면, A가 B에 의존한다고 표현할 수 있다. 의존 처리 방식 그럼 이 의존.. 2021. 7. 22.
[Spring] 스프링 컨테이너(Container) 의미 스프링 컨테이너는 객체 관리를 위한 다양한 기능을 제공한다. 이와 관련된 기능이 ApplicationContext 인터페이스에 정의되어 있으며 이를 컨테이너라고 부른다. 이를 확장한 클래스들을 이용해 다양한 방식으로 객체의 설정 정보를 가져올 수 있다. 스프링은 객체 컨테이너 스프링의 핵심 기능은 객체를 생성하고 초기화하는 것이다. 이와 관련된 기능이 ApplicationContext라는 인터페이스에 정의되어 있으며, AnnotationConfigApplicationContext 클래스는 자바 클래스에서 정보를 읽어와 객체 생성과 초기화를 수행한다. 관련 클래스 계층도 및 각 클래스 설명 BeanFactory | ... | ApplicationContext | ... | AnnotationConfigAp.. 2021. 7. 22.
[Spring] 스프링 프로젝트 시작하기 (Maven) 자바용 프로젝트 관리 도구인 메이븐(Maven)을 이용하여 스프링 프로젝트를 생성해보자. 메이븐 프로젝트 구성에 맞는 폴더를 직접 생성하고 pom.xml 파일을 작성하여 의존성을 추가한다. 이후 이클립스에서 메이븐 프로젝트를 import 하여 스프링 프로젝트를 생성한다. Maven을 이용하여 Spring Framework 프로젝트 생성하기 메이븐 (Maven) 메이븐은 자바용 프로젝트 관리 도구이다. 모든 메이븐 프로젝트는 루트 폴더에 pom.xml 파일을 갖는다. pom.xml은 메이븐 프로젝트에 대한 설정 정보를 관리하는 파일로, 프로젝트에서 필요로 하는 의존 모듈이나 플러그인 등에 대한 설정을 담고 있다. 하나의 모듈을 아티팩트라는 단위로 관리한다. 에서 아티팩트에 대한 의존성을 관리한다. 메이븐 .. 2021. 7. 21.
[Python] Baekjoon - 1976. 여행 가자 백준 1976번 여행 가자 문제는 도시의 연결 정보와 여행 계획 리스트가 주어졌을 때 여행할 수 있는지를 구하는 문제다. 도시의 연결 정보를 그래프로 표현할 수 있으며 여행 계획대로 탐색할 수 있는지 확인해야 하므로 그래프 탐색 알고리즘을 이용해서 해결할 수 있다. 백준 1976번 여행 가자 문제 정보 알고리즘 분류 - 그래프 탐색 난이도 - 골드 4 여행 가자 문제 요약 N개의 도시의 연결 정보가 주어지고, 여행 계획(M개의 도시 리스트 - 중복 가능)이 주어졌을 때, 여행 가능한지 구하는 문제다. A, B, C 도시에 대해 A-B, B-C가 연결되어있고 여행 계획이 A-C라면, A-B-C로 이동하면 A와 C 순서로 여행을 갈 수 있으므로 여행 가능한 경우이다. 문제 풀이 과정 무방향 그래프가 있고, .. 2021. 7. 21.
반응형