Spring 5

Spring) 비즈니스 계층. 서비스(Service)란?

비즈니스 계층, 서비스는 컨트롤러와 DAO사이에 위치해서 서로 의존성이 높아지는것을 방지하는 완충제 역할을 한다. 컨트롤러에서 DAO를 바로 호출할 수 있지만, 그러면 컨트롤러와 DAO가 종속되어버린다(강한결합). 그래서 컨트롤러와 DB의 다이렉트 연결을 한단계 떨어뜨려 종속되는것을 막는 것. => 외부 호출에 대한 영속계층(persistence) 종속성을 막는다. 종속성을 떨어뜨린다는건 매우쉽게 말하면 컨트롤러는 컨트롤러의 역할만 하게 하고, 그 외의 역할은 못하게 하는 것. 이렇게 하는 이유는 중간에 DB를 바꾼다거나 할때 바뀌는 부분만 갈아끼우기 형태로 바꿀 수 있기 때문이다. 종속이 되면 서로 강한결합이 되어있으니 모두 다 뜯어고쳐야 하는 상황이 발생하게된다. 1. 서비스 패키지 만들고 객체 등록..

Back-end/Spring 2022.05.02

Spring) 로그인 동작 만들기(테스트 형태)

로그인 동작 전 준비 - MemberVO - DB에 유저테이블에 유저 한명 이상 - DB연결할 dataSource, SqlSessionFactory, SqlSessionTemplate 객체Bean. 1. MemberDAO에 추상메서드로 로그인 메서드 만들어놓기 public void loginMember(String userid, String userpw); 이렇게 직접 적는것 보다 vo객체를 사용하는 것이 좋다. 이렇게 따로 정보를 가져와서 처리하는 방법은 뒤에 5번에 적어보겠다. // 로그인 동작 public MemberVO loginMember(MemberVO vo); 2. 로그인 동작 sql문 생성 src/main/resource/mappers/memberMapper.xml select * from..

Back-end/Spring 2022.04.29

Spring) Contoller 리턴 타입에 따른 매핑 방법

컨트롤러의 메서드의 리턴타입에 따라 페이지 이동 방법이 다르다. 리턴값이 없을때(void), 리턴타입이 String일때, 리다이렉트, 포워드 의 페이지 이동을 정리해보려 한다. 1. 리턴타입이 void일때 이전글에서 했던 대로 @RequestMapping("/주소") 괄호안에 적은 주소와 같은이름의 페이지를 매핑한다. @RequestMapping("/myPage") 로 하면 views/myPage.jsp 페이지를 호출. 2. 리턴타입이 String일때 형식 @RequestMapping("/doTest2") public String doTest02() { return "String리턴"; } @RequestMapping() 에는 /doTest2로 되어있지만 return된 문자열인 String리턴.jsp 페..

Back-end/Spring 2022.04.27

Spring) 스프링 Controller 개념과 페이지 연결(주소매핑)

1. 컨트롤러란? 스프링 프레임워크는 MVC패턴을 사용하고있고, 여기서 Controller는 화면(View)과 비즈니스 로직(Model)를 연결시키는 다리 역할을 한다. 쉽게 말하자면 화면에서 /aaa 로 가줘~ 하고 요청하면 주소를 받아들여 어디로 갈지 분석하고 맞는 길로 연결시켜주는 역할이다. Controller를 세부적으로 나누면 FrontController와 Controller로 나눌 수 있다. FrontController는 사용자의 모든 요청을 전달받는곳으로, 요청에따라 view페이지 또는 적절한 컨트롤러를 호출한다. 또한 원하는 작업을 수행한 결과를 가지고 다시 페이지를 이동한다. ▷ 작성하는 코드가 컨트롤러인지 어떻게 파악할까? @Controller 어노테이션으로 인해 이 클래스가 컨트롤러인..

Back-end/Spring 2022.04.27

Spring Boot) IntelliJ + Spring Boot시작하기

아래 링크로 들어가서 스프링 부트 기반으로 Spring 프로젝트를 만든다. https://start.spring.io/ 전에는 빌드도구로 Maven을 많이 사용했지만 요즘은 Gradle로 하는 추세라고 한다. Spring Boot 버전은 뒤에 괄호()가 없는 제일 최신 버전을 선택하면 된다. Group : 기본 패키지 이름을 설정. 보통 회사의 도메인명으로 한다. Artifact : 프로젝트 명 Java 버전은 각자 사용할 버전을 선택하면된다. Dependencies : 스프링부트로 스프링 프로젝트를 시작할때 어떤 라이브러리를 가져와 쓸건지 선택. 여기서는 웹 프로젝트를 만들것이기 때문에 Spring web과 HTML을 구성해주는 Template Engines를 선택한다. 설정을 다 마쳤으면 하단의 Ge..

반응형