목록전체 글 (254)
요르딩딩

이번시간에는 DI(의존성 주입)에 대해서 공부해보겠습니다. 스프링의 가장 기본적인 능력은 객체를 생성하고 조립하는 능력입니다. 이때 사용되는 용어가 DI, IoC입니다. DI는 의존성 주입으로 '부품 조립'이라고 생각하시면 될거 같습니다. 이러한 '부품 조립'방식은 결합을 느슨하게 하여, 부품을 갈아끼운다거나 업데이트를 보다 편리하게 해줍니다. 일체형방식이라면 내용을 잘 모르고, 교체하기도 어렵습니다. 조립하는 것이 어렵지만 '조립을 해주는 서비스'를 이용하면 됩니다. 이것이 바로 스프링입니다. 스프링의 xml파일과 Annotation이 부품의 주문서 역할을 합니다. 주문서 대로 부품을 담을 공간을 '컨테이너'라고 합니다. 하지만 이것을 IoC라고 부르는 이유가 있습니다. '제어반전'으로 일체형 객체생성..

이번시간에는 배치를 적용해보는 시간을 가져보겠습니다. Spring 일괄 처리(batch processing) 배치를 만드는 여러가지의 기능이 있다. 방법1) quartz 스케줄링 객체 사용 방법2) 설정 사용 방법3) @Scheduled 어노테이션 사용 방법1) quartz 스케줄링 객체 사용 1. quartz를 사용하기 위해서 에 추가해줍니다. [pom.xml] org.quartz-scheduler quartz 2.2.0 2. 스케줄링 관련 설정을 작성해줍니다. [context-scheduler.xml] (1) 을 추가해야 등록된 빈을 읽을 수 있습니다. (2-1) 에 @Service빈으로 등록한 이름을 작성하여줍니다. (2-2) 에 동작시킬 메소드 이름을 작성하여줍니다. (3) 트리거의 부분을 통해 ..

이번장에서는 간단한 스프링 시큐리트를 공부하며 맛만 보려고한다. 이번장에서 진행하는 것은 시큐리티의 개념이 적용되었고, 실제 로직은 필터이지 않나 싶습니다. 아직 시큐리티에 대한 명확한 공부를 하기위한 기초단계이므로 차차 지식을 추가해보도록 하겠습니다. 시큐리티를 사용하는 이유는 사용자별로 진입할 수 있는 서비스를 달리 하기 위해서 사용하곤 합니다. 예를 들어 로그인시 관리자는 모든페이지 접근가능하고, 게스트는 일부페이지만 접근가능하도록 설정하는 것입니다. 1. 스피링에서 시큐리티 기능을 사용하기 위해서 해당 라이브러리를 web.xml의 에 추가해야합니다. 아래의 소스를 추가해 보시기 바랍니다. [pom.xml] org.springframework.security spring-security-core 3..
Session을 이용한 서버기반의 인증방식이 많이 사용되어왔으나, 규모나 한계로 인하여 Token을 이용한 토큰기반의 인증방식이 많이 사용되고 있다고 합니다. 이번에 Session, Token의 동작원리 및 장단점을 살펴보도록 하겠습니다. 1. Session(세션) : 서버기반의 인증방식 사용자가 인증할때, 서버가 사용자정보를 저장하는데 이를 Session(세션)이라고 부릅니다. [동작원리] 서버기반의 인증방식은 서버 측에서 사용자정보를 기억하고 있어야합니다. 사용자정보를 기억하기 위해서는 Session을 유지해야하고, Session은 메모리,디스크,DB등을 통해 관리합니다. 서버기반의 인증방식은 클라이언트로 부터 요청을 받으면, 클라이언트는 상태를 계속 유지하고 그 정보를 서비스에 이용합니다. 이러한 ..
Transaction이란 : 여러개의 쿼리를 하나의 connnetion으로 묶어 DB에 전송하고, 이 과정에서 에러가 발생할 경우 자동으로 모든과정을 원래대로 되돌려놓습니다.(모두 RollBack) Spring이 제공하는 Transaction Template Class를 이용하거나 설정파일, 어노테이션을 이용해서 트랜잭션의 범위 및 규칙을 정의할 수 있습니다. Spring에서는 주로 선언적 트랜잭션을 이용합니다. 태그 또는 @Transactional 어노테이션을 이용하는데, 퀴리문을 처리하는 과정에서 에러가 났을 경우 자동으로 모두 Rollback 처리를 해줍니다. 아래의 예시는 Service 인터페이스 부분입니다. 일반적으로 Spring에서는 Service Layer에서 @Transactional 을 ..

이번에는 mvc패턴을 적용하여 실행해보는 작업을 해보도록 하겠습니다. pom.xml의 각종 설정도 같이 진행하도록 하겠습니다. 동작원리는 아래와 같음을 이해하고 진행하면 도움이 될것입니다. 참고: all-record.tistory.com/165 1. 먼저 pom.xml에 각종 버전 설정 및 를 설정하도록 하겠습니다. (depency는 웹 상의 라이브러리를 다운받아 사용할 수 있도록 해줍니다.) - 아래와 같이 를 추가하도록 합니다. - 필요한 도 추가해보도록 합니다. 2. pom.xml를 설정하고 나니 아래와 같이 경고문구가 발생했습니다. complier문제이니 해결해 보도록 하겠습니다. - 먼저 이클립스 자체의 설정을 변경해보도록 하겠습니다. (compiler 버전업, JRE 버전업) - compile..

이번에는 깃 원격저장소에 올린 프로젝트를 내려받아 이클립스에 import한 후 소스트리와 연결시켜보도록 하겠습니다. 1. downloadWorkSpace를 생성한 후 > 해당 workspace로 이클립스를 실행합니다. - 이제부터 깃 원격저장소에 저장되어있는 프로젝트를 > pc의 로컬저장소에 저장 후 > 이클립스로 import하여 사용할 것입니다. 2. window > show view > git repository, git staging을 엽니다. 3. Clone Git repository를 선택해 줍니다. (원격저장소를 이클립스와 연결하는 작업입니다.) 2. 깃 사이트를 통해 HTTPS의 주소를 복사해 이클립스의 URI에 붙여넣으시면 됩니다. 3. downloadWorkSpace에 로컬저장소를 생성하..

이번에는 앞서 생성한 maven 프로젝트를 Git에 올려보도록 하겠습니다. 이를 위해서는 Git사이트에 들어가서 ID를 생성 후 진행하시기 바랍니다. 1. 회원가입 후 Create a new repository를 생성해 줍니다. (원격 저장소를 생성하는 것입니다.) 앞서 생성한 personal_project를 Git의 원격 저장소에 올려보록 하겠습니다. 2. personal_project를 올리기 위해 로컬저장소를 만들어야 합니다. (프로젝트(workspace) > 로컬저장소(.git) > 원격저장소(Git)) - User or create repository in parent folder of project 체크 : 해당 부분을 체크하지 않는다면, Git에 커밋, 푸쉬시 프로젝트전체가 올라가는 현상이 ..