Spring Framework (9) 썸네일형 리스트형 [Spring Framework] collection 타입의 bean 생성 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 이번 시간에는 collection 타입의 bean을 생성해보고, 콜렉션 형식은 어떻게 DI 지시서로 작성하는지 알아보도록 하겠습니다. 이전 시간에는, setter을 이용해서 부품끼리 결합시키는 방법을 배웠었는데요, 이번에는 setter가 아닌 다른 방식으로 setting하는 경우에는 어떻게 DI 지시서를 작성하는지 알아보려고 합니다! 우선 setter가 아닌 다른 방식은 어떤 것들이 있는지 아래의 예시를 들어보도록 하겠습니다. List mylist = new ArrayList(); mylist.add(new Animal("MINA", 10)); 위의 코드를 보면, mylist를 생성한 다음에,.. [Spring Framework] Application Context 사용하기 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 이번 시간에는 이전에 작성한 setting.xml을 java 코드에서 어떻게 가져와 사용하는지에 대해서 배워보고자 합니다. 만약 Spring 라이브러리가 준비되어있지 않다면 제 블로그의 아래 글을 참고해주세요! programming-workspace.tistory.com/22 [Spring Framework] 이클립스에서 Spring Library 가져오기 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:)] 이번 시간에는 이클립스에서 Spring 라이브러리를 사용하기 위해서 세팅하는 작업을 해보려고 합니다. 우선 이클 program.. [Spring Framework] Spring Bean Configuration (DI 지시서) 작성법 (1) '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 이번 시간에는 Spring DI 지시서(Spring Bean Configuration)를 어떻게 작성하는지에 대해 방법을 알아보도록 하겠습니다. 코드는 지난시간(programming-workspace.tistory.com/13?category=913472)에 사용한 코드를 이용해 진행하겠습니다. 지난 글에서 설명드렸듯이, 아래와 같은 코드를 이용하였을 때, AnimalPrintAge의 부분을 AnimalPrintName 함수로 수정하고자 할때, 이전과 같은 방식으로는 코드를 수정해야만 해당 함수를 변경할 수 있다고 말씀드렸습니다. public class Program { public stati.. [Spring Framework] 이클립스에서 Spring 사용하기 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 저번 시간에 DI를 직접 해보는 실습 시간을 가졌는데요, 해당 실습을 하면서 외부 설정이 왜 필요한지 알아보았었습니다. 이번 시간에는 이러한 외부 설정을 도와주는 Spring Framework를 이클립스에서 사용하는 방법을 알아보려 합니다. 어떠한 객체를 조립하기 위해서 부품을 주문하는, 일종의 주문서라고 할 수 있는 XML를 작성할 때에는 우리의 맘대로 작성하는 것이 아니라, spirng이 제시하는 작성 양식에 따라 맞춰 적어주어야 합니다. 그러기 위해서는 XML에 아래와 같이 적어주어야 하는데요 ... 딱 보기에도 굉장히 길고 복잡하죠? 따라서 위와 같은 복잡한 내용들을 '플러그인'이라는 .. [Spring Framework] 직접 Dependency Injection 해보기 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) Spring에서 다루는 DI에 대해서 더 잘 이해하기 위해서 실습을 진행해봅시다! 이번 시간에는 직접 DI를 하면서, 우리가 외부 파일로 설정을 해주어야하는 이유를 알아보도록 하겠습니다. 우선 동물의 이름과 나이에 대한 정보를 저장하기 위해서 Animal이라는 class를 생성하겠습니다. public class Animal { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } public Animal(String name, int age) .. [Spring Framework] IoC 컨테이너 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 저번 시간에 '종속성 주입'이라고 불리는 Dependency Injection, 이하 DI에 대해서 알아봤는데요, 이번에는 그와 관련된 IoC 컨테이너에 대해서 자세하게 배워보도록 하겠습니다. Spring이 부품을 조립하기 위해서는, 우리가 어떤 부품을 필요로 하는지 일종의 주문서를 넘겨주어야합니다. 따라서 어떤 부품이 필요하며 어떻게 이 부품들을 조립해야하는지에 대한 내용을 주어야하는데, 이를 위해서 XML이나 Annotation을 사용합니다. 컨테이너는 우리가 흔히 아는 것처럼 무언가를 담는 큰 상자와 같은 역할을 합니다. 이 때, Spring에서의 IoC 컨테이너는 우리가 주문서를 통해 .. [Spring Framework] DI(Dependency Injection) '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 이번 시간에는 '종속성 주입'이라고 불리는 Dependency Injection, 이하 DI에 대해서 알아봅시다. Spring에서 갖고 있는 가장 기본적인 능력 중 하나가 객체를 생성하고, 조립하는 것인데 여기서 등장하는 것이 바로 DI와 IoC 컨테이너인데요, 이번에는 그중에서 DI에 대해서 자세하게 배워보도록 하겠습니다. 아래의 코드는 A가 B를 일체형으로 갖고 있는 코드입니다. (Composition has a 관계) class A { private B b; public A() { b = new B(); } } 위의 코드를 보면 A()라는 함수 안에서 B class의 객체를 직접 생성하고.. [Spring Framework] 느슨한 결합력과 인터페이스 '뉴렉처' 님의 채널(www.youtube.com/user/newlec1)을 바탕으로 제작한 블로그 글입니다:) 이번 시간에는 느슨한 결합력과 인터페이스에 대해서 알아보도록 하겠습니다. 먼저 아래와 같은 구조를 가진 어플리케이션이 있다고 가정해봅시다. 우선 Service Layer는 사용자의 요구에 맞는 서비스를 제공하기 위한 계층입니다. 내부적인 부분이나 구현 기술에 대한 것들은 숨긴 채로, 데이터를 받아 그것을 어떻게 사용자에게 줄지 구현하기 위한 부분입니다. Dao Layer는 서비스가 업무 로직에 필요한 데이터를 요청하면 그에 알맞은 데이터를 제공하는 부분입니다. Data Access Object의 약어로, 실질적으로 DB에 접근하는 부분이라고 볼 수 있습니다. 우리는 프로그램을 만드는 순간부터,.. [Spring Framework] 왜 Spring을 써야하는가? 서론 최근에 자바를 통해 웹 개발을 하면서, Spring이라는 프레임워크가 굉장히 널리 쓰이고 있다는 것을 깨달을 수 있었습니다. 아래는 프로그래머스에서 한 2019 개발자 설문지인데, 굉장히 높은 비율로 Spring Framework를 사용하고 있다는걸 알 수 있습니다. (추가로 게임 개발자의 경우에는 '.NETCore', 'ASP'를, 네트워크 개발자는 'Cocoa'를 많이 사용하고 있다고 합니다.) 저도 학교 과제 프로젝트를 위해서 웹 개발을 Spring Framework로 입문한 이후로, 쭉 스프링을 사용해서 개발을 진행하고있습니다. 그러던 도중, 왜 Spring Framework를 왜 사용하는지에 대한 의문이 생기기 시작했습니다. 생각해보니 Java를 처음 배울 때는 이클립스를 사용해서 배웠었는.. 이전 1 다음