목록전체 글 (174)
The Debugging Chronicles : "코드의 미학"
DispatcherServlet은 의존성을 2개 가지고 있는데handlerMapping과 ViewResolver이다POJO이다어디로 갈지를 관여한다. 멤버변수는prefix와 suffix가 있는데setter로 의존성을 주입한다. 어디로 가야할지 관연하는 부분에서어디로 가야할 부분에 접두사(./)랑 접미어(.jsp)를 붙여서 완성시킨다. package com.koreait.app.view.controller;public class ViewResolver { private String prefix; private String suffix; public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.pre..
FrontController일반적으로 view라고하는데 사용자에게 제공한다는 의미이다. 기본 내용에서 주석을 지우면 예전에는 FrontController라고 불렀는데 스프링에서는 DispatcherServlet 라고 불른다.일반 POJO가 new하지 않는다.서블릿에서는 컨테이너가 주관하는데 바로 톰캣이다.톰캣이 주관하는 web.xml 에 가보면xml 태그에 과도한 설정이을 피하기 위해서 어노테이션을 쓴다. 우리는 요청이 get인지 post인지 알지 못하기 때문에 DoAction을 만들어서 요청을 처리한다. doAction에서 들어오면 해야할 3가지 단계가 있다.1. 사용자(클라이언트, 브라우저)가 무슨 요청을 했는지 추출 및 확인2. 요청 수행 = 요청에 해당하는 controller 기능을 수행3. 응답..
선택을 하더도 MySQL은 깡통이어서 pom.xml에 따로 주입해줘야한다. MemebrDTO 란 자료형 타입이다. String 매번 선언하고 Boolean 도 매번 선언하고 쓸 때마다 new 해서 사용해야한다.DTO 도 마찬가지이다. 어노테이션 컨트롤를 사용하는 인터페이스를 사용해서 메서드 오버라이딩해서 강제하였다. Repository를 먼저 하고서 그 다음에 Autowired 해준다.
회사.어떤 팀인지 혹은 어떤 서비스인지.app.biz(business method=핵심관심,핵심로직).member(table 이름) biz == 서비스 == 제공하는 기능 MySQL 이관 작업 완료된 MySQL.jar 가 필요.dependency 주입 memberDAO는 5개의 메서드를 갖는다. 사용자가 xxx.do를 요청하면FC에서 XxxxAction객체 생성 후AF= xxxAction.excute();DS이 AF를 보고 페이지를 이동 근데 FC에서 XxxxAction객체 생성 하는 것을 "서비스"라고 한다. 멤버 서비스는 인터페이스이다.서비스(컨트롤러)에서는 DAO를 가져다가 서비스 내용(로직)을 구현한다.Action >>> ServiceService 의 내용은 실질적으로 DAO가 수행하는 것이..
계정을 팀과 모두 동일하게 1234로 했어야했는데다른 비밀번호로 해서 변경하려고 한다. 완전 삭제 후 재설치 하는 방법도 있지만 나는 비밀번호 초기화 하는 방법으로 하려고 한다. 일단, 안전 모드 진입 전 실행 중인 서버를 중지 시켜야한다.$ brew services stop mysql 서비스 중지 후 실행 중인 mysql 프로세스를 확인하여 실행 중인 프로세스 또한 완전히 죽여야한다.근데 나는 이미 꺼져 있었다.만약에 꺼져 있지 않다면 다음과 같이 kill 해서 프로세스를 종료 시킨다. 나는 이미 mysql 파일 경로로 이동해서 종료 했는데 이동해야한다.mysql 경로는 다음과에서 확인할 수 있다. Base Directory가 이동해야할 경로 이다 $ cd /usr/local/mysql/bin 비밀번..
DI 모호성 에러 만약 Spring 작업 중org.springframework.beans.factory.UnsatisfiedDependencyException 오류가 발생했다면객체의 의존성을 주입했는지를 확인해야한다. @Component("apple")public class IPhone implements Phone { @Autowired // 메모리의 자료형(타입)을 인지해서 주입해줌 // 주입대상 모호성 에러 ///// @Qualifier("aw") private Watch watch; // 의존 주입 대상(DI 대상 public IPhone() { System.out.println("아이폰 객체 생성 01"); } /* public IPhone(Watch watch) { this.watch=w..
@component("apple") == Iphone apple = new Iphone(); == 1. 대신에 @Component로 객체 new2. DI(의존주입) 기존에는 생성자, Setter ==>>> @Autowired 로 주입3. @Autowired 메모리의 자료형만 참고 ==>>> DI 모호성 에러 갤럭시 폰 생성 DI해서 폰 생성해줘~ 라는 요청을 받는 다면 1. 대신에 @Component로 객체 new 2. DI(의존주입) 기존에는 생성자, Setter ==>>> @Autowired 로 주입 3. @Autowired 메모리의 자료형만 참고 ==>>> DI 모호성 에러
1. 컨테이너란? 개발자 대신 new(객체)를 생성 관리 해주는 것을 발한다.2. 스프링 프레임워크를 한마디로 요약해보면? IoC 와 AOP를 지원하는 경량의 프레임워크다.3. IoC 란? 제어의 역행 : 제어권자인 개발자가 new 하지 않고 사용4. 중간 프로젝트 컨테이너가 1개 == 톰캣(서블릿 컨테이너) 서블릿 파일의 객체만 new 한다.5. .xml(설정파일) 1:1 실습때 factory(컨테이너) => applicationContext.xml 서블릿 컨테이너(톰캣) => web.xml 스프링 => pom.xml6. new == 7. .xml 과도한 설정 -> @어노테이션 설정을 개발 .xml 보단 @ 어노테이션을 사용하는 것이 좋다. 최종 복습 pom.xml Spring w..