이론/스프링

트랜잭션(Transaction)하나의 트랜잭션은 하나의 작업단위로 처리예로 추가와 삭제라는 작업이 하나의 작업으로 묶여있다면 두 작업은 모두 성공하거나 실패되어야 한다는 것이다.작업이 정상적으로 종료 되었다면 영구적으로 저장(Commit) 되어야 하고 잘못되었다면 되돌려야 한다(Rollback)Java jdbc를 사용할 때는 커넥션 객체의 setAutoCommit(false) 메소드를 통해 오토 커밋을 해제하고 직접 커밋과 롤백을 수행할 수 있다Spring jdbc 나 MyBatis에서는 커넥션을 자동 생성/커밋이 되기 때문에 커밋/롤백이 자유롭지 않다. 따라서 스프링에서 트랜잭션을 관리해주는 기능 구현이 필요하다.jdbc를 이용해 DB 연동을 했을 때 트랜잭션 관리는 DataSourceTransacti..
AOP(Aspect Oriented Programming)관점 지향 프로그래밍어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각가 모듈화 하겠다는 것이다.모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다.스프링 AOP 특징프록시 패턴 기반의 AOP 구현체, 프록시 객체를 쓰는 이유는 접근 제어 및 부가기능을 추가하기 위해서스프링 빈에만 AOP 적용가능모든 AOP 기능을 제공하는 것이 아닌 스프링 IoC와 연동하여 언터프라이즈 애플리케이션에서 가장 흔한 문제(중복코드, 프록시 클래스 작성의 번거로운, 객체들 간 관계 복잡도 증가..)에 대한 해결책을 지원하는 것이 목적입니다.AOP 주요 개념@Aspect : 흩어진 관심사를 모듈화 한것, 주로 부..
의존성 주입은 필요한 객체를 직접 생성하는 것이 아닌 외부로부터 객체를 받아 사용하는 것입니다.각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결 시켜준다.@Autowired 어노테이션을 이용한 다양한 의존성 주입(DI) 방법을 제공합니다.의존성 주입을 해야하는 이유Test가 용이해진다.코드의 재사용성을 높여준다.객체 간의 의존성(종속성)을 줄이거나 없앨 수 있다.객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다.의존성 주입의 3가지 방법1. 필드 주입(Field Injection)@Controllerpublic class CocoController{ @Autowired private CocoService cocoService;}필드에 @Autowired 어노테이션..
제어의 역전(IoC)기술을 통해 어플리케이션의 느슨한 결합을 도모합니다.컨트롤의 제어권이 사용자가 아닌 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출 합니다.스프링 프레임워크도 객체를 생성하고 관리하고 책임지고 의존성을 관리해주는 컨데이너 입니다.IoC의 분류DL (Dependency Lookup)저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lockup하는 것 입니다.DI (Dependency Injection)각 클래스 간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결 해주는 것 입니다.Setter Injection(수정자 주입)Constructor Injection(생성자 주입)Meth..
1. 클라이언트 −처리 요청(URL)→ DispatcherServlet 클라이언트에서 DispatcherServlet 으로 URL 처리 요청2. DispatcherServlet −요청URL과 매핑되는 Controller 검색 요청→ HandlerMapping어느 컨트롤러에서 요청을 처리할지 결정하려고 핸들러 매핑으로 적합한 컨트롤러 검색@Controller스프링 프레임워크에게 "이 클래스는 웹 브라우저의 요청(request)를 받아들이는 컨트롤러야" 라고 알려주는 어노테이션스프링은 servlet-context.xml의 context:component-scan의 설정에 의해 이 클래스를 자바빈 객체로 등록(메모리에 바인딩).서버 실행해야 컨트롤러라고 알 수 있다 서버 실행해서 객체로 만들어짐Web.xmls..
lavender1122
'이론/스프링' 카테고리의 글 목록