Back-end/Spring 8

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) DB연결 방법 3가지(직접, Bean객체, MyBatis)

1. 클래스에서 직접 연결하는 방법. public class DBConnectTest { private static final String DRIVER = "com.mysql.cj.jdbc.Driver"; private static final String DBURL = "jdbc:mysql://localhost:3306/springdb"; private static final String DBID = "root"; private static final String DBPW = "1234"; @Test public void 디비연결테스트() { try(Connection con = DriverManager.getConnection(DBURL, DBID, DBPW)) { Class.forName(DRIVER..

Back-end/Spring 2022.04.25

Spring) JUnit을 활용하여 테스트 코드 작성하기

스프링으로 프로젝트를 시작하기 전, DB연결은 잘 되는지, 객체 주입이 잘 되는지 등 테스트를 해보는것이 좋다고 한다. JUnit은 자바용 단위 테스트 프레임워크여서 JUnit을 통해 테스트를 실행해볼 수 있다. *JUnit은 자바 1.8버전부터 사용할 수 있다. 1. JUnit 라이브러리가 있는지 확인하기. pom.xml 파일에 가서 아래의 dependency가 있는지 찾아본다. 만약 없으면 위의 코드를 추가하거나 아래 dependencies탭에서 junit을 추가한다. pom.xml말고도 Maven Dependencies에서도 찾아볼 수 있다. 2. 테스트 클래스 작성 테스트 클래스는 src/main/java안의 패키지명과 같은 이름으로 src/test/java 안에 패키지를 만들어야한다. 클래스명은..

Back-end/Spring 2022.04.23

Spring) Spring 프로젝트 생성, 설정 및 Tomcat 서버 설치

프로젝트 생성 왼측 Exploror에 Spring Legacy Project를 클릭해서 프로젝트를 생성한다. 기본 패키지 이름 설정 프로젝트 생성 완료! Tomcat 서버 설치하기 1. Tomcat 설치하기 https://tomcat.apache.org/download-80.cgi 설치파일을 다운받아 설치하기 2. 이클립스 상단의 Window > Preferences Server > Runtime Environment > Add Apache Tomcat v8.5 선택 Tomcat 디렉터리에 Browse를 눌러 톰캣이 설치된 폴더를 선택하고, JRE에 설치한 자바 8버전을 선택한다. Finish하고 Apply를 누르면 서버 설치 완료! 그럼 이제 프로젝트를 서버와 연결시킨다. 3. 프로젝트와 서버 연결하기..

Back-end/Spring 2022.04.18

Spring) Spring ToolSuite4.10버전 설치하기(자바1.8)

현재 Spring 4.14버전 부터는 자바 최소버전을 11부터 요구하고있다. 하지만 나는 자바 버전 8을 사용해서 Spring 4.10버전을 사용해보려한다. 1. 자바 1.8버전 설치 https://luanaeun.tistory.com/65 2. Spring ToolSuite 4.10 다운로드 아래 링크로 들어가서 4.10 버전을 찾아 운영체제에 맞는 파일 형태로 다운받아서 압축을 해제한다. https://github.com/spring-projects/sts4/wiki/Previous-Versions 3. 마켓플레이스 에서 필요한 기능 설치하기 Spring Tool 3 (Standalone Edition) 3.9.14.Release Spring Tools 3 Add-On for spring Tools ..

Back-end/Spring 2022.04.18
반응형