1. 리터럴
- 변수의 초기값은 코드에서 직접 입력하는 경우가 많은데, 소스코드 내에서 직접 입력된 값을 리터럴(literal)이라고 부른다.
- 리터럴은 값의 종류에 따라 정수 리터럴, 실수 리터럴, 문자 리터럴, 논리 리터럴로 구분된다.
Read More
1. 트랜잭션
1-1. 트랜잭션 개념
- 논리적 단위로 어떤 한 부분의 작업이 완료되었다 하더라도 다른 부분의 작업이 완료되지 않았을 경우 전체 취소하는 것이다
- 이 때 작업이 완료되는 것을 커밋(commit)이라고 하고, 작업이 취소되는 것을 롤백(rollback)이라고 한다
- 커맨드 패턴?
Read More
1. AOP
1-1. AOP란
- 관점 지향 프로그램(Aspect Oriented Programming)
- 프로그래밍을 하다 보면 공통적인 기능이 발생하는데, 이러한 공통 기능을 모든 모듈에 적용하기 위한 방법으로 상속을 통한 방법이 있다
- 하지만 자바에는 다중 상속이 불가하므로 다양한 모듈에 상속 기법을 통한 공통 기능 부여에는 한계가 있다.
- 그리고 기능 구현 부분에 핵심 기능 코드와 공통 기능 코드가 섞여 있어 효율성이 떨어진다 (ex. log)
- 위의 상속을 통한 방법에는 한계가 있어 AOP가 등장했다.
- AOP 방법은 핵심 기능과 공통 기능을 분리 시켜 놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식이다.
Read More
1. 외부 파일을 이용한 설정
1-1. Environment 객체
- environment 객체를 이용해서 스프링 빈 설정을 한다.
- 외부 설정 파일들을 가져와서 프로퍼티를 추가하거나 추출하는 역할을 한다
- Context > ctx.getEnvironment() > Environment > env.getPropertySource() > PropertySource > env.getProperty()
Read More
1. DI (Dependency Injection)
- 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념
- 소스 코드의 변경 없이 환경 설정만으로도 프로그램을 제어할 수 있다 (모듈 간의 결합도를 낮춰서 유연한 변경을 가능하게 함)
- Java 파일의 수정 없이 스플이 설정 파일만을 수정하여 부품들을 생성/조립 할 수 있음
- 각 class 사이의 의존 관계를 Bean 설정 정보를 바탕으로 container가 자동으로 연결해주는 것을 의미함
Read More