개인 공부

개인 공부/토비의 스프링 3.1

[토비의 스프링] 1.6 싱글톤 레지스트리와 오브젝트 스코프

1장 오브젝트와 의존관계 싱글톤 레지스트리와 오브젝트 스코프 **오브젝트의 동일성과 동등성(Java)** - 동일성은 == 연산자 - 동등성은 equals() 메소드 - 동일성은 결국 하나의 오브젝트만 존재하나 두개의 오브젝트 레퍼런스 변수만 가지고 있는 상태 - 동등성은 두 개의 다른 오브젝트가 메모리상에 존재하지만 로직상의 정의에 따라 오브젝트 정보가 같다고 판단 Singleton Registry(싱글톤 레지스트리) 기본적으로 별다른 설정이 없으면 내부에서 생성하는 빈 오브젝트를 모두 싱글톤으로 만듦 서버 애플리케이션과 싱글톤 스프링은 하나의 요청을 처리하기 위해 계층형 구조로 이루어짐 서비스 오브젝트 개념 도입 싱글톤 패턴(Singleton Pattern) 어떤 클래스를 애플리케이션 내에서 제한된 ..

개인 공부/토비의 스프링 3.1

[토비의 스프링] 1.5 스프링의 IoC

스프링의 IoC Bean(빈) 스프링이 IoC 방식으로 관리하는 오브젝트 스프링이 직접 제어권을 갖고 생성과 제어를 담당하는 오브젝트 Bean Factory(빈 팩토리) 스프링의 IoC를 담당하는 핵심 컨테이너 빈의 등록, 생성, 조회, 그 외 부가적인 빈을 관리하는 기능 Application Context(애플리케이션 컨텍스트) 빈 팩토리를 확장한 IoC 컨테이너 스프링이 제공하는 각종 부가 서비스 추가 애플리케이션 컨텍스트가 구현해야 하는 기본 인터페이스 지칭 애플리케이션 컨텍스트 DaoFactory에 대응되는 것이 스프링의 ApplicationContext ApplicationContext 장점 클라이언트가 구체적인 팩토리 클래스를 알 필요 없음 종합 IoC서비스 제공 빈을 검색하는 다양한 방법 제..

개인 공부/토비의 스프링 3.1

[토비의 스프링] 1.4 제어의 역전(IoC)

1.4 제어의 역전(IoC) 오브젝트 팩토리 UserDaoTest 기능이 잘 동작하는지 테스트 하는 책임 기존 UserDao가 직접 담당하던 기능 팩토리(Factory) 객체의 생성 방법을 결정하고 그렇게 만들어진 오브젝트를 돌려주는 UserDao와 ConnectionMaker는 각각 애플리케이션의 핵심적인 데이터 로직과 기술 로직 담당 DaoFactory는 이런 애플리케이션의 오브젝트들을 구성하고 관계를 정의하는 책임을 맡고 있음 DAO 여러개일 경우public UserDao DaoFactory { public UserDao userDao() { return new UserDao(new DConnectionMaker()); } public AccountDao accountDao() { return ne..

개인 공부/토비의 스프링 3.1

[토비의 스프링] 1.3 DAO의 확장

1.3 DAO의 확장 지금까지 데이터 엑세스 로직을 어떻게 만들 것인지, DB 연결을 어떤 방법으로 할 것인지 두 개의 관심을 기준으로 분리 두 관심은 변화의 성격이 다름 다른 방식의 분리 본격적으로 독립시키며 손쉽게 확장할 수 있는 방식 SimpleConnectionMaker 클래스를 만들고 UserDao가 이용할 수 있는 방식 UserDao 코드가 SimpleConnectionMaker 클래스에 종속되어 있으므로 UserDao 코드 수정 없이 DB 커넥션 변경할 방법이 없음 SimpleConnectionMaker의 makeNewConnection을 이름만 변경해도 UserDao를 변경해야함 인터페이스의 도임 추상화란? 어떤 것들의 공통적인 성격을 뽑아내어 인터페이스로 분리하는 작업 인터페이스 기능만 ..

내캉
'개인 공부' 카테고리의 글 목록 (9 Page)