본문 바로가기

spring

(3)
Spring 캐시 추상화 (Cache Abstraction) 간단하게 적용해보기 개인 프로젝트를 진행하면서 페이지의 공통 부분에 필요한 데이터를 aop로 적용한 부분이 있다. 때문에 자주 바뀌지 않는 데이터지만 지속적으로 실행되는 메서드가 존재했는데 결과 데이터를 캐시에 저장하면 좋을 것 같아서 찾다보니 캐시 추상화(Cache Abstraction)를 지원하는것을 알게 되었다. 그리고 기존에 redis를 세션 클러스터링으로만 사용하고 있었는데 아깝다고 생각하던 찰나였기 때문에 마침 잘된 것같다. Spring Framework에서는 3.1버전부터 투명하게 캐싱기능을 적용하는 캐싱 추상화를 제공했다고 한다. 이는 트랜잭션 처리 처럼 쉽게 적용이 가능하고 4.1 버전에서 크게 확장되었다고 한다. @transactional로 편리하게 트랜잭션 처리를 하는 것 처럼, 캐싱 관련 어노테이션으로..
Spring DI(의존성 주입)와 IoC(제어의 역전) 의존성 주입 DI(Dependency Injection)에 대해 DI는 스프링의 핵심 장점중 하나다. 한 객체가 다른 객체로부터 의존되어있는, 다른 객체의 변화에 영향을 받는 것이 의존되어있다고 한다. 그림과 같이 A객체안에는 B객체와 C객체를 new로 생성하고 있는데 이 경우 A객체는 B객체와 C객체에 의존되어 있다. 의존성을 주입은 아래 그림과 같이 직접 new로 B와 C객체를 생성하는게 아닌 외부로부터 객체를 받는것이다. 이렇게 의존성 주입으로 얻을 수 있는 장점은 관심사가 분리되어있다는 점이다. 이는, 관심사 분리 -> 수정이 쉽다 -> 유연성과 확장성 상승을 의미한다. 이러한 의존성 주입은 스프링에서 주로 IOC 컨테이너로 부터 *Bean 객체를 주입받을때 일어난다 *Bean : 스프링의 IOC..
eclipse 스프링 레거시 프로젝트 생성 및 나의 기본 세팅 스프링 레거시로 만들고 싶은게 생겨서 새로 프로젝트를 만든다. ide는 eclipse 2020-09 버전 당연히 market으로 스프링이 설치되어있고 perspective는 spring으로 선택되어있어야 한다. 프로젝트 생성 File > New > Spring Legacy Project 선택 프로젝트명을 입력해주고 Spring MVC Project 선택 > Next 누르면 패키지명 입력하는게 나오는데 com.회사명.프로젝트명이 국룰이다. 입력 후 Finish 클릭 조금 기다리면 프로젝트가 생성된다. 프로젝트 구조를 나중에 자기가 편한대로 세팅해주자 프로젝트 기본 수정 먼저 pom.xml 4.0.0 com.poozim jobcall jobcall war 1.0.0-BUILD-SNAPSHOT UTF-8 UT..