본문 바로가기

DI14

[Spring Framework] 컨트롤러(Controller) 컨트롤러 클래스 제작 이전 포스팅에서도 말했지만 최초 클라이언트로 요청이 들어왔을 때, DispatcherServlet이 컨트롤러로 요청을 하게된다. 그리고 컨트롤러는 요청에 따라 작업을 한 후 뷰쪽으로 데이터를 전달한다. 컨트롤러 클래스 제작 순서 1. @Controller를 이용한 클래스 생성 2. @RequstMapping을 이용한 요청 경로 지정 3. 요청 처리 메소드 구현 4. 뷰 이름 리턴 뷰에 데이터 전달 컨트롤러에서 로직 수행 후 뷰페이지를 반환 한다. 이때 뷰에서 사용하게 될 데이터를 객체로 전달 할 수 있다. 1)Model 클래스를 이용한 데이터 전달 HomeController.java @RequestMapping("/tests") //Model 객체를 Parameter로 받음. pub.. 2018. 7. 25.
[Spring Framework] MVC 기초(원리와 구조) 스프링의 전체적인 구조 클라이언트의 요청 -> DispatcherServlet가 클라이언트의 최초 요청을 받음 -> HandlerMapping ,HandlerAdapter, Controller, View, ViewResolver로 요청을 보낸다. 우리가 건드릴 부분은 View단과, Controller단 DispatcherServlet에서 Controller에게 요청을하고 Controller에게 무언가 응답을 받으면 DispatcherServlet은 ViewResolver를 통해 View가 응답이 되는 구조이다. 정리하자면 DispatcherServlet은 1) 클라이언트의 요청을 최초로 받아 2) 컨트롤러에게 전달한다. 프로젝트 생성 빨간줄로 그어논 부분(Test)이 내가 생성하고자 하는 프로젝트의 Co.. 2018. 7. 25.
[Spring Framework] 외부파일을 이용한 설정 프로퍼티 파일을 이용한 설정 프로퍼티 파일을 직접 이용하여 스프링 빈을 설정하는 방법에대해서 알아보자. 내가 겪었던 바로 예를들면 스프링프레임워크로 프로젝트를 진행하면서 DB연결에 필요한 id, password, ip 주소 등 개인 정보를 입력해야 할 때가 있다. local에서 나 혼자만 개발하면 id나 password, ip가 바뀔일이 없기 때문에 XML파일에 그냥 입력해 놓으면 되지만, 서버를 따로 둘 필요가 있을때 이 개인 정보들을 하나의 외부 파일로 만들어 정보가 바뀔 때 그 외부 파일만 수정하면 굳이 XML파일을 수정하지 않더라도 적용이 가능하다는것이 편했던것 같음. 극히 내가 겪었던 경험일 뿐이며, 다른 분들은 다르게 생각할수도있을것같다! 스프링 설정 XML파일에 프로퍼티 파일을 명시 한다. .. 2018. 7. 25.
[Spring Framework] 싱글톤(Singleton)의 개념 싱글톤이란 무엇일까? 싱글톤을 알기위해서는 동일성, 동등성에 대해서 알 필요가 있다. 두 변수의 값을 비교하기 위해, 우리는 == 연산자를 사용했다. 하지만 이 연산자를 이용한 비교는 , primitive(원시) 타입의 자료형에만 해당되는 사항이다. primitive 타입 자료형이란 int, double, char, boolean 등의 기본 자료형을 말한다. 하지만 자바에서 지원하는 타입은 primitive 타입만이 있는것이 아니다. 우리가 흔히 사용하는 오브젝트, 주소값을 가지는 reference타입 이라는 자료형도 존재한다. reference 타입이란 우리가 흔히 사용하는 ,new 연산자로 생성할 수 있는 오브젝트를 말한다. new 연산자란 간단히 클래스의 오브젝트를 생성하는 연산자라고 표현할 수 있.. 2018. 7. 25.
[Spring Framework] 생명주기 (Life Cycle)와 범위 - 스프링 컨테이너 주기 //스프링 컨테이너 생성 , parameter가 없는 default 생성자로 생성할경우 load후 refresh를 꼭 해주어야함!! GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); //스프링 컨테이너 설정 ctx.load("classpath:applicationCTX.xml"); // 스프링 컨테이너사용 ctx.refresh(); Student student = ctx.getBean("student", Student.class); System.out.println("이름 : " + student.getName()); System.out.println("나이 : " + student.getAge()); .. 2018. 7. 24.
[Spring Framework] DI 활용 DI(Dependency Injection) : 의존 주입 DI 사용에 따른 장점? 자바 소스의 수정 없이 XML파일의 class만 수정해 주면 된다. 1. XML 파일을 이용한 DI 설정 방법 //생성자 설정(기초데이터) //생성자 설정(객체 데이터,List타입) 수영 요리 //setter 설정(property) 187 2. JAVA를 이용한 DI 설정 방법 // '스프링 설정에 사용되는 클래스' 라고 명시해주는 어노테이션. @Configuration public class ApplicationConfig {} //객체 생성을 명시해주는 어노테이션 @Bean public Student student1(){ // Student는 XML의 class명 , student1은 XML의 id 값이라고 생각하면된.. 2018. 7. 24.