티스토리 뷰

728x90

MEARI는 kt ds university 자바/파이썬 전문가 양성 과정에서 진행한 팀프로젝트 입니다.

 

스프링 프로젝트에서 로그인 기능을 추가 하려고하는데 막막하다..

스프링프로젝트에서 어떤 기능을 추가하고 싶다면 다음과 같은 java파일을 추가 해줘야 한다.

사실 어려운 말을 써가면서 포스팅 하면 글쓰는 사람은 편하지만, 나도 비전공자의 입장으로 정말 이해하기 힘든 부분이였기 때문에 내가 이해한 용어들을 사용해가면서 설명해보도록 하겠다~!

Controller : 어려운 말로 비즈니스 로직을 제어하는 객체란다. 나는 카테고리 분류, 표지판(?) 정도라고 생각했다. jsp(프론트)에서 요청이 들어오면 핸들러매핑이라는 애가 컨트롤러를 가장 먼저 찾기 때문에 로직의 시작부분이자 기능을 대표하는 부분이라고 생각했다.

 

Service : 어려운 말로 세분화된 비즈니스 로직을 처리하는 개체란다. 컨트롤러에서 로직을 처리하는 경우도 많지만 DAO를 호출 하고 싶을 때 ( = 데이터베이스에 접근할 때) 서비스를 사용해서 로직을 처리한다고 이해했다. 

 

DAO(Data Access Object) : 데이터 베이스에 접근하거나 조작하는 기능을 전담하는 객체란다. 그러니까 데이터베이스에 있는 테이블들을 대상으로 쓰고 읽고 수정하고 삭제하고 이런 기능들을 여기에 각각 다 적어놓고, 주로 서비스에서  조합하여 호출 한다.

 

VO(Value Object) : 각 계층간 데이터 교환을 위한 자바 객체를 의미한다. 각 계층간 데이터 교환을 위한 자바 객체를 의미한다. 

만약 mybatis를 사용한다면 mapper의 xml 파일과 일치 하도록 잘 설정해줘야 데이터베이스 쪽에서 오류가 안난다.

그림으로 표현한다면 이런 모양 일거다..

 

 

네.. 잘들었습니다.. 하지만 설명을 봐도 사실 잘 모르겠어요

확실히 비전공자나, 전공자나 처음접하는 사람에게는 어려운 개념이라 직접 코드를 하나하나 보면서 데이터가 어떻게 이동하는지 콘솔에 찍어보며 확인하는 방법이 가장 느려보이지만 확실하고 빠른 방법인 것 같다.

 

그렇다면 컨트롤러 부터 코드를 살펴보자

 

 

MemberContollerImple

// 이 java 파일은 '컨트롤러'라고 알려주는 애노테이션 
@Controller("memberController")
public class MemberControllerImpl implements MemberController {
	
    //MemverService 객체화
    @Autowired
	private MemberService memberService;
    
    //MemverVO 객체화
	@Autowired
	MemberVO memberVO;

 

댓글