본문 바로가기

BackEnd

스프링 컨테이너 종류 1. BeanFactory와 ApplicationContext의 관계 스프링은 BeanFactory와 ApplicationContext의 두 가지 타입의 컨테이너를 제공한다. BeanFactory 계열의 인터페이스만 구현한 클래스는 단순히 컨테이너에서 객체를 생성하 고 DI를 처리해주는 기능만을 제공한다. 하지만 스프링이 제공하는 다양한 부가 기능(편리한 트랜잭션 처리, 자바 코드 기반 스프링 설 정, 애노테이션을 사용한 빈 설정, 스프링을 이용한 웹 개발, 메시지 처리 등)을 사용하려면 ApplicationContext 계열을 사용해야 한다. 2. ApplicationContext 인터페이스와 관련된 클래스 계층 구조 가장 말단에 위치한 클래스가 실제로 사용되는 구현 클래스로서, 이들은 다음과 같다. ..
스프링의 가장 기본적인 기능 - 객체를 생성/조립/사용/관리에 대해 1. 스프링의 가장 기본적인 기능은 객체 생성/조립/관리에 대한 것이다. 스프링의 가장 기본적인 기능은 객체를 생성하고 초기화하여 필요로 하는 곳에 제공하는것인데,이 중심에는 DI(Dependency Injection)라는 설계 패턴이 적용되어 있다. 스프링은 기본적으로 DI를 기반으로 동작하기 때문에,스프링을 잘 사용하려면이에 대한 이해가 필수적이다 스프링은 객체를 생성하고 연결해주는 DI 컨테이너 스프링을 떠받치고 있는 핵심 기능 중의 하나가 바로 DI 이다. 스프링은 객체를 생성하고 각 객체를 연결해주는 조립기 역할을 하게 된다 이렇게 생성한 객체를 보관하기 때문에 스프링을 객체 컨테이너 라고도 부른다
컴파일,빌드,배포 과정 1. 영문으로된 글을 한글로 번역하는 것은 컴파일이다. 2. 번역한 글을 책으로 엮는 것은 빌드이다. 3. 완성된 책을 고객들이 읽을 수 있도록 서점에 진열하는 것은 배포이다. 4. 1~2번 과정을 하나로 묶어 '빌드 한다'고 하기도 한다. ------------------------------------------------------------------------------------ 1. 컴파일: 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일 2. 빌드: 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일혹은 컴파일을 포함해 war, jar 등의 실행 가능한 파일을 뽑아내기까지의 과정을 빌드한다고도 함.소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말..
런타임과 컴파일 1. 컴파일(Compile) 컴파일이란 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정을 말한다. (목적파일이 생성됨) 즉, 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업이다. 이러한 작업을 해주는 프로그 램을 가르켜 컴파일러(Compiler- javac.exe)라 한다. 자바의 경우, 자바가상머신(JVM)에서 실행가능한 바이트코드 형태의 클래스파일이 생성이 된다. .java 파일을 .class파일로 만듬 2. 런타임 어떤 프로그램이 실행되는 동안의 time이다. 3. 런타임 에러 어떤 프로그램이 실행되는 동안 발생하는 에러이다. 4. compile time 고급언어(프로그래밍 언어)를 기계어로 변경하는 과정이다. 5. 컴파일 에러 고급언어(프로그래밍 언어)를 기계어로 변경하는 과정에서 발생하..
클래스패스란? 클래스패스란(Class Path)란? 클래스패스란 말 그대로 클래스를 찾기위한 경로이다. 자바에서 클래스패스의 의미도 똑같다. 즉, JVM이 프로그램을 실행할 때, 클래스파일을 찾는 데 기준이 되는 파일 경로를 말하는 것이다. 소스 코드(.java로 끝나는 파일)를 컴파일하면 소스 코드 가 “바이트 코드”(바이너리 형태의 .class 파일)로 변환된다. java runtime(java 또는 jre)으로 이 .class 파일에 포함된 명령을 실행하려면, 먼저 이 파일을 찾 을 수 있어야 한다. 이때 .class 파일을 찾을 때 classpath에 지정된 경로를 사용한다. classpath는 .class 파일이 포함된 디렉토리와 파일을 콜론으로 구분한 목록이다. java runtime은 이 classpath..
스프링의 주요 모듈 1. 스프링의 주요 모듈간의 의존 관계 다수의 모듈이 spring-context 모듈을 직/간접적으로 의존하고 있으므로, 스프링 프레 임워크를 이용해서 웹 어플리케이션을 개발하거나 DB를 연동할 때는 spring-context, spring-aop, spring-beans, spring-core 모듈은 항상 함께 사용된다. 실제로 spring-webmvc 모듈은 XML 처리를 위해 spring-oxm 모듈을 사용하고 있으며, spring- context 모듈의 기능도 사용하고 있다. 2. 스프링의 주요 모듈 목록 spring-beans : 스프링 컨테이너를 이용해서 객체를 생성하는 기본 기능을 제공한다. spring-context : 객체 생성, 라이프 사이클 처리, 스키마 확장등의 기능을 제공한다. s..
자바의 상속과 오버라이드 1. 상속받았을때 기본 method의 동작 방법 printwriter 클래스는 writer 클래스를 상속받았다 printwriter 클래스는 자식이고 writer가 부모인것이다. wirter클래스는 object클래스를 (확장해서)extends해서 wirter라는 클래스를 만들었다는것 printwriter 클래스는 tostring 클래스를 구현한적없다. 상속받아서 쓰는것이다. 그래서 printwriter클래스에서 tostring 메소드를 동작시키면 자신의 클래스에서 찾는다. 없으면 다시 writer 클래스에서 찾고, 없으면 object클래스에서 찾아서 동작시키는것이다. 2. 상속받았을때 오버라이드 method의 동작 방법 printwriter 클래스에서 write메소드를 동작시키면 printwriter 클..
패키지,클래스,변수,메소드 1. 패키지 : 클래스들을 정리정돈하는 도구(클래스의 이름이 겹치는 것을 패키지를 통해 나눠주거나, 수많은 클래스를 나눠줌)즉 패키지는, 서로 연관된 비슷한 성격의 클래스를 모아서 이름을 붙인것이다.패키지는 클래스들을 그룹핑해서 이름을 붙인것 2. 클래스 서로 연관된 변수와 메소드를 모아서 그룹핑해서 이름을 붙여둔것이다. 이런것들이 중요한 이유는 소프트웨어를 만들어갈때 구조를 결정하기 때문이다. 클래스와 메소드는 신체에서 뼈대와도 같다. 참고자료https://www.youtube.com/watch?v=kSH6-DU68fo&feature=emb_logo