건승하고있어요/Spring framework (16) 썸네일형 리스트형 [Spring] 스프링1일차 - 컬렉션(Collection) 객체 설정 컬렉션(Collection) 객체 설정 개발을 하다보면 list나 배열따위를 객체로 집어 넣어야 할 때도 있군... 정말... 징글징글.... 아오.....아무튼 이런 경우에는 컬렉션 객체를 의존성 주입하면 된다. 이를 위한 컬렉션 매핑 및 관련 엘리먼트가 지원된다. 컬렉션 유형 엘리먼트 java.util.List, 배열 java.util.Set java.util.Map java.util.Properties List 타입 매핑 리스트1리스트2 Map 타입 매핑킴썽 한화 이글스 만세 하루키 야쿠르트 스왈로즈 만세 엘리먼트에서 사용된 엘리먼트는 Map 객체의 key값을 설정할 때 사용, 엘리먼트는 Map객체의 value를 설정할 때 사용 Set 타입 매핑 ->여기는 근데 int타입을 넣고싶으면 java.la.. [Spring] 스프링1일차 - 의존성관리/Setter인젝션(Setter Injection) Setter 인젝션 이용하기Setter 메소드를 호출하여 의존성 주입을 처리하는 방법 Setter메소드는 스프링 컨테이너가 자동으로 호출호출하는 지점은 객체 생성 직후-> 따라서 Setter인젝션이 동작하기 위해서는 Setter메소드뿐만 아니라 기본 생성자도 반드시 필요 Setter 인젝션 이용시에는 스프링 설정파일에 엘리먼트 대신 엘리먼트를 사용 name 속성값이 호출하고자 하는 메소드 이름이다. 즉, name속성값이 speaker라고 설정되어 있으면 호출되는 메소드는 setSpeaker()이다. 변수 이름에서 첫 글자를 대문자를 바꾸고 앞에 "set"을 붙인 것이 호출할 메소드 이름이다. 예시) setAddressList() name="addressList" setPrice() name="price".. [Spring] 스프링1일차 - 의존성관리/생성자 인젝션(Constructor Injection) 스프링의 의존성 관리 방법IoC: Inversion of Control 제어의 역행 => 스프링의 핵심원리 스프링이 IoC를 지원하는 두 가지 형태 Dependency Lookup -컨테이너가 애플리케이션 운용에 필요한 객체를 생성하고 클라이언트는컨테이너가 생성한 객체를 검색(Lookup)하는 방식 -실제 애플리케이션 개발 과정에서는 사용하지 않음 Dependency Injection -객체사이의 의존관계를 스프링 설정 파일에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리 -의존성 설정을 바꾸고 싶을 때 프로그램 코드를 수정하지 않고 스프링 설정 파일 수정만으로 변경사항을 적용할 수 있음 -> 유지보수 향상 -개발과정에서 실제 자주 사용하는 방식 세터 인젝션(Setter Injection) : Sett.. [Spring] 스프링1일차 - 스프링 XML 설정 루트 엘리먼트-스프링 컨테이너는 저장소에 해당하는 XML 설정파일을 참조하며 의 생명주기를 관리하고 여러가지 서비스를 제공.-스프링프로젝트 전체에서 가장 중요한 역할 담당-이 설정 파일을 정확하게 작성하고 관리하는 것이 무엇보다 중요-스프링 설정파일 이름은 어떤 것을 사용해도 무관하지만, 를 루트엘리먼트로 사용해야함.-엘리먼트 시작태그에 네임스페이스를 비롯한 xml스키마 관련정보가 설정됨-, , , 자식 엘리먼트 엘리먼트-스프링 설정파일 하나에 우리가 만든 모든 클래스를 으로 등록하고 관리할 수 도 있지만 외에도 예외처리, 다국어 처리 등 복잡하고 다양한 설정 필요-따라서 기능별 여러 XML파일로 나누어 설정하는 것이 더 효율적-이렇게 분리하여 작성한 설정 파일들을 하나로 통합할 때 사용하는 엘리먼트예시.. [Spring] 스프링1일차 - 스프링 컨테이너 및 설정파일 스프링 프레임워크에서는 자신이 관리할 클래스들이 등록된 XML설정 파일이 필요하다. 스프링 설정파일 생성하기해당 스프링 프로젝트 src/main/resources 소스폴더 선택, 마우스 오른쪽 버튼 클릭new - other로 새로운 파일 생성하기Spring폴더의 Spring Bean Configuration File 생성파일 이름으로 "applicationContext.xml" 입력 스프링 컨테이너 종류 스프링에서는 BeanFactory와 이를 상속한 ApplicationContext 두 가지 유형의 컨테이너를 제공함 BeanFactory 스프링 설정파일에 등록된 객체를 생성하고 관리하는 가장 기본적인 컨테이너 기능만 제공컨테이너가 구동될 때 객체를 생성하는 것이 아닌 클라이언트의 요청에 의해서만 객체가.. [Spring] 스프링1일차 - 프레임워크 개요 프레임워크 (Framework)-애플리케이션을 개발할 때 전체 애플리케이션의 구조를 결정하는 아키텍처를 프레임워크가 제공-개발에서 기본이 되는 뼈대나 틀을 제공-개발자에 모든 것을 위임하는 것이 아니라 애플리케이션의 기본 아키텍처는 프레임워크가 제공, 그 뼈대에 살을 붙이는 작업을 개발자가 수행 프레임워크의 장점1. 빠른 구현시간: 아키텍처에 해당하는 골격코드를 프레임워크에서 제공, 개발자는 비지니스 로직만 구현하면 되므로 제한된 시간에 많은 기능 구현 가능2. 쉬운 관리: 같은 프레임워크가 적용된 어플리케이션들은 아키텍처가 같으므로 관리가 쉬움. 유지보수에 들어가는 인력과 시간 단축 가능3. 개발자들의 역량 획일화: 숙련된 개발자와 초급 개발자가 생성한 코드가 비슷해짐. 관리자 입장에서 개발인력을 더 .. [Spring] 스프링1일차 - 환경설정하기 자바, 이클립스, 톰캣, DB, STS를 모두 설치한 후 프로젝트 생성 및 환경설정하기 1. 프로젝트생성Spring Legacy Project 선택 - project 이름 설정, Template은 'Spring MVC Project' 선택 - 프로젝트에서 사용할 최상위패키지 지정(최소 세 개 이상의 패키지 지정 필요 xxx.ooo.mmm 의 형식으로 기재) 2. 프로젝트 설정변경해당프로젝트의 properties 선택 - Project Facets 선택 - Java버전 변경(1.8) - 오른쪽의 Runtimes 탭 선택 - Apach Tomcat v8.0 체크 3. 폴더정리(학습을 위한 폴더정리)src/main/resources 폴더에서 log4j.xml을 제외한 나머지 파일 삭제 src/main/weba.. [MVC] MVC 패턴 MVC 패턴Model - View - Controller (모델 - 뷰 - 컨트롤러) Model (모델) 비지니스 영역의 로직 처리(ex. dao) View (뷰) 비지니스 영역에 대한 뷰, 사용자가 보게 될 결과화면 Controller (컨트롤러) 사용자의 입력 처리와 흐름제어 사용자의 요청 -> 컨트롤러 -> 모델 -> 요청처리 -> 컨트롤러 -> 뷰선택 -> 사용자에게 뷰 보여줌 잊지말자 MVC 패턴의 핵심!!-비지니스 로직을 처리하는 모델과 결과화면을 보여주는 뷰를 분리-어플리케이션의 흐름 제어나 사용자의 처리 요청은 컨트롤러에 집중! -> 유지보수 작업이 쉬워짐-> 어플리케이션 확장에 용이 모델과 뷰가 분리되어 있기 때문에 모델의 내부 로직이 변경되더라도 뷰는 영향을 받지 않고, 반대로 뷰와 모.. 이전 1 2 다음