본문 바로가기

프로그래밍/Spring5

[Spring] scope, annotation 빈(bean) 객체 스코프(scope) 기본적으로 컨테이너에 한 개의 bean 객체를 생성해 재사용한다. bean의 scope를 설정할 수 있는 방법을 제공한다. 방식 설명 singleton 컨테이너에 한 개의 bean 객체만 생성한다.(기본값) prototype bean을 요청할 때마다 bean 객체를 생성한다. request HTTP 요청마다 bean 객체를 생성한다.(WebApplicationContext에서만 적용) session HTTP 세션마다 bean 객체를 생성한다.(WebApplicationContext에서만 적용) global-session 글로벌 HTTP 세션에 대한 bean 객체를 생성한다. 포틀릿을 지원하는 컨텍스트에만 적용 가능하다. scope를 prototype으로 설정한 st.. 2020. 12. 14.
[Spring] property 설정, autowire collection 타입의 property 설정 - java.util.List나 배열 - java.util.Set - java.util.Map - java.util.Properties List 타입의 property 설정 Set 타입의 property 설정 Map 타입의 property 설정 Properties 타입의 property 설정 독립형 collection 구현 각 bean에서 중복 처리되는 속성값을 재사용하기 위한 방법으로, Namespaces의 util 태그를 이용한다. 의존 관계 자동 설정(autowire) 의존하는 bean 객체의 타입이나 이름을 이용해 의존 객체를 자동 설정할 수 있는 기능이다. 자동 설정과 직접 설정의 혼합도 가능하다. 태그의 autowire 속성을 이용한다. 1. b.. 2020. 12. 14.
[Spring] Dependency Injection(Constructor/Setter-based Injection) Dependency Injection 개요 의존관계(의존성) 주입 Spring Framework의 핵심 기능 중 하나로, 객체 간 의존 관계가 객체 자신이 아닌 외부에 의해 결정되는 개념이다. 컨테이너는 어떤 객체 A가 필요로 하는 의존관계에 있는 다른 객체 B를 직접 생성하여 객체 A로 주입해 주는 역할을 한다. DI는 의존관계 구현을 어떻게 하는지에 대한 내용이다. 의존하는 객체를 지정하는 방법 의존하는 객체를 코드에 직접 명시하는 방법(일반적인 방법) 단위 테스트가 어렵고, 의존하는 객체 변경 시 코드를 수정해야 한다. Factory나 JNDI를 이용해 검색하는 방법 단위 테스트가 어렵고, 실제 의존하는 객체와의 의존성은 느슨하고 Factory나 JNDI와의 의존성이 생긴다. XML 기반 설정 방법.. 2020. 12. 13.
[Spring] Spring Framework의 개요 Java EE Architecture Spring이란? Java Enterprise(J2EE) 개발을 편하게 해 주는 오픈 소스 경량급 어플리케이션 프레임워크 Spring Framework 소개 Road Johnson이 'Expert One-on-One J2EE Development without EJB'라는 책에서 *EJB를 사용하지 않고 Enterprise application을 개발하는 방법을 소개했고, 이것이 스프링 프레임워크의 모태가 되었다. 2003년 2월부터 오픈 소스로 시작된 프로젝트로, 경량의 IoC(Inversion of Control)와 AOP(Aspect Object Programming) 컨테이너 프레임워크이다. *EJB(Enterprise JavaBeans)란? 미국 Sun Mi.. 2020. 12. 13.
[Spring] return "redirect:/주소"와 return "view" return "redirect:/주소"는 해당 주소로 URL 요청을 다시 하는 것이고, return "view"는 단순히 지정한 view 페이지를 보여주는 것이다. redirect는 response.sendRedirect처럼 화면 넘기기만 가능하고, 데이터를 전달하지는 못한다. redirect 시 데이터를 유지하려면 RedirectAttributes의 addFlashAttribute("key", data)를 사용해 데이터를 저장해야 한다. 참고한 글 blog.naver.com/PostView.nhn?blogId=sim4858&logNo=221007278858 2020. 11. 16.