분류 전체보기 135

[IoC , DI] 개념잡기

학습목표 : Ioc, DI 개념을 잡는다. DI 의 Autowired 는 객체의 생성자, setter 함수를 통해서 Injection 된다. 이 한장의 그림. Ioc(Inversion of Control) - 자바 프로그램을 개발할때 개발자는 필요한 시점에 객체를 생성하고, 필요한 부분에 해당 객체를 주입(Injection) 한다. 해당 객체의 Life Cycle 을 개발자가 프로그램하면서 제어하는 방식이었다. Spring Ioc 컨테이너는 필요할 할것으로 생성되는 객체들을 싱글톤으로 생성하여 컨테이너에 넣었다가, 개발자가 필요로 하는 시점에 가져다 사용하기만 하면 된다. 이렇게되면, 해당 객체의 제어는 개발자가 하는것이 아닌 스프링 컨테이너(IoC)가 하게된다. 즉, 제어권이 개발자가 아닌 스프링 프레..

[Team Study] [싱글톤 XML ver] 스프링 싱글톤에 대한 단순한 고찰

학습목표 : 스프링에서의 싱글톤의 의미를 이해하고, 실제 단순한 구현을 한다. Q) 스프링의 빈들이 싱글톤인 이유? A) 스프링은 자바엔터프라이즈개발을 위한 프레임워크다. 이 말인 즉슨, 사용자가 많다는 얘기. 그 많은 사용자가 요청할 때마다 새로운 객체를 생성해서 제공하는 것은 비용이 크기 때문에 기본적으로 싱글톤으로 객체의 갯수를 제한한다. * 솔직하게 왜 스프링이 싱글톤을 사용하는지 잘 모르겠음... 좀더 공부가 필요 * 단지 스프링이 싱글톤을 사용하는 방법에 대해 공부하고자 함. 1) 스프링 컨테이너의 종류 2가지 (자세한 설명 블로그 - velog.io/@ehdrms2034/Spring-MVC-Application-Context.xml ) - Bean Factory와 이를 상속한 Applicat..

2. 프로젝트 생성, Hello world 까지

학습목표 : STS툴을 이용하여 maven 프로젝트를 생성하고, Hello world 까지 실행한다. # 참고로 2단계에서는 Spring boot 를 이용하고, maven 을 사용한다. # 스프링 부트를 시작하기 위해서는 보통 각 개발툴(InteliJ, Eclipse)을 이용하거나 start.spring.io 사이트를 사용하는 방법이 있는데, 여기서는 이클립스를 사용하기 때문에 이클립스에서 프로젝트를 만드는 방법을 사용한다. 프로젝트 생성 1. 이클립스 STS4 실행 New -> Spring Starter Project -> 아래 참고 하여 생성 위 내용을 마치고, finish 를 누르면 바로 시작되지 않고, 프로젝트 생성을 위해 약간의 시간이 필요 위에서 선택한 maven 이 필요로 하는 라이브러리들을..

[Interface & Extends] 이 둘의 단순하지만 OOP적인 Collaboration

학습목표 : 인터페이스와 상속의 조화로운 모습을 이해한다. * 내용은 단순하기 때문에 클래스 구조와 소스를 직접 실행해보면 상속과 인터페이스를 별개로 생각하기 보다는 서로 연결되는 부분이 있다는 점을 생각할 수 있습니다. 클래스 구조 2. 소스코드 package book.oopforsprings.lec03.ver04_interface_plus_extends; /* * The collaboration of Interface and Extends */ public class Interface_plus_Extends { public static void main(String[] args) { IfFly bat = new Bat(); bat.fly(); IfFly sparrow = new Sparrow(); s..

Java 2021.05.06

[Load-map] 플젝 로드맵

1. 준비단계 , 실습방안 - 개발도구, 자바버전, 빌드툴 2. 프로젝트 생성, Hello world 까지 - 모든 프로그래머의 관문 Hello World 3. MVC 원시모습 - DB를 이용한 초라한 MVC 4. 서블릿 .. 나만 일하냐? - MVC 의 비율이 1 : 2 : 7 , 일은 Controller만하고 생색은 View 가 다내고.. 내가 Controller(관리자,조정자) 가 맞아? 일을 줄넘이 없네.. 5. 서블릿의 다이어트 - 나는 Controll (지배,통제) 만 할거야. - 용병을 좀 써야겠어. Service , Repository, DAO , (DTO), VO 6. MVCSRDV 패턴으로 - Servlet 은 사실 혼혈이였어. (Http + Java) - Java 의 OOP 정체성을 ..

8. [마무리] 정리하고,, 다시 시작..

아주 간단하고 허접한 Servlet 에서 Jsp 그리고, 모델2까지 가는 과정을 간단하게 진행해 보았습니다. 마음만 먹으면 1시간이면 구현까지 가능한 수준입니다. 아주 쉬운 과정이지만, 이 과정을 통해 다음 내용은 꼭 생각해 봐야 합니다. 첫째. Web 환경에서 Request 와 Response 의 역할과 Life Cycle 입니다. 특히 Request 의 Life Cycle 에 대해서는 조금 관심있게 보면 좋습니다. 7번에서 다루었던 dispatcher.forward(request, response) 에 대한 이해는 MVC 모델에서 컨트롤러를 이해하는 단초이기도 하며, Spring 의 중심에 있다고 하는 'Dispatcher-Servlet' 에 대한 조상이기도 합니다. 둘째. Attribute 에 대한..

6. Jsp (동적웹을 좀더 쉽게)

학습목표 : Jsp 가 어떻게 Servlet 을 대체했는지 살펴봅니다.. (아마 저처럼 고인물들에게는 잠시 쉬어가는 타임..) * 초창기 Servlet 의 개념은 앞 시간에 보았듯이, java 프로그램 안에 html 을 넣는 방식이었다면, Jsp 는 이와는 반대로 html 안에 java 프로그램를 넣은 개념으로 이해하면 쉬울듯.. (물론, 이게 다는 아이지만, 이해하기는 편합니다.) 1. index.html 변경 (jsp 테스트를 위해 추가) Model1 - Servlet - 회원가입 - 회원List Model1 - Jsp - 회원가입 - 회원List 2. WebContent 에 jsp 폴더를 만들고 아래 3개의 파일을 생성합니다. 3. jsp > join.html 작성 (기존 join.html 에서 a..

3. 프로젝트 생성, 톰캣으로 화면 보기까지

학습목표 : 이클립스로 프로젝트를 생성하고, 톰캣을 구동하여, 브라우저에서 동작하는것을 확인한다. (앞서 말했지만, 자세한 설명은 하지 않음, 고인물들도 이정도는 알거라 생각..) 1. 이클립스 - 프로젝트 생성 2. index,html Model1 -> Model2 MVC 이해를 위한 과정별 학습 Sample : 단순 회원 가입 : 이름, 나이를 넣으면, 이 값을 화면에 보여주는 단순한 과정을 학습별로 반복 한다. (java 1.8 , eclipse, DB oracle , tomcat 9.0) Model1 - Servlet - 회원가입 - 회원List 3. join.html (회원가입을 위한 폼) username : age : Mobile : 전송 4. 톰캣 실행. 성공하였다면 축하 축하.. 오늘은 여..

7. 원시 Model2, MVC 출현 (2 - view 생성까지)

학습목표 : M V C 를 흉내내보자. 실제 나처럼 예전 방식에 익숙한 사람에게 jsp 를 통해 저장된 값을 가져아게 하는 방식은 좀 생소하여 이해하기 어렵다.하지만, 지금까지 순차적으로 잘 따라왔다면, 오늘 하는 부분을 마치면 아마도..MVC 에 대한 문은 열어본것이 아닐까 싶음. 마지막으로 서블릿에 리스트를 요청하고, view/jsp 를 통해 화면을 보여준다.여기서는 Attribute 를 이용하여 사용. 1. 리스트를 가져오도록 진행 2. ServletList_ver1.java : 리스트를 가져오도록 Servlet 에서 작업을 하고, 던진다.package com.study.mvc.ver1; import java.io.IOException; import java.io.PrintWriter; import..