Back-End
-
[2-ch6 스프링] MVC의 Controller 어노테이션 (@RequestMapping, @requestParam, Model, 반환타입)Back-End/Spring Legacy 2022. 8. 16. 12:04
스프링 MVC Controller 특징 스프링 MVC를 이용하는 경우 작성되는 Controller는 아래와 같은 특징이 있다. - HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 - 다양한 타입의 파리미터 처리, 다양한 타입의 리턴 타입 사용 가능 - GET, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 가능 - 상속/ 인터페이스 방식 대신 어노테이션만으로도 필요한 설정 가능 @Controller 프로젝트 내 org.zerock.controller 패키지 폴더에 SampleController라는 이름의 클래스를 작성한다. @Controller @RequestMapping("/sample/*") @Log4j2 public cla..
-
[2-ch5 스프링 MVC 패턴] 기본구조와 로딩구조 (DispatcherServlet, listener, ViewResolver)Back-End/Spring Legacy 2022. 8. 15. 11:30
스프링 웹 프로젝트를 진행하려면 제일 중요하게 알아야되는 기본 개념이 바로 MVC 패턴의 구조이다. 국비 수업을 들으면서 몇번이고 반복해서 학습했더니 조금씩 눈에 들어오는 느낌? 처음엔 이게 무슨 소리야,, 헷갈리는 부분도 많았지만 전체적인 기본구조와 로딩구조를 정리하면서 디자인 패턴이나 xml의 역할 등 세세하게 알아볼까한다. 스프링 MVC 프로젝트 내부 구조 스프링 MVC 프로젝트를 구성해서 사용한다는 의미는 내부적으로 root-context.xml로 사용하는 일반 Java 영역 (흔히 POJO)과 servlet-context.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동하게 된다. 위의 틀을 WebApplicationContext라고 볼 수 있는데, 이 존재는 기존의 구조에 MVC 설정을..
-
[1-ch4 스프링] MyBatis특징과 스프링 연동Back-End/Spring Legacy 2022. 8. 14. 17:22
MyBatis란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복 작업을 제거한다. SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상 resultType, resultClass등 VO를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 매핑하여 사용할 수 있다. MyBatis 관련 라이브러리 추가 MyBatis와 mybatis-spring을 사용하기 위해 pom.xml에 추가적인 라이브러리들을 설정해야 한다. org.mybatis mybatis 3.4.6 org.my..
-
[1-ch3 스프링] Oracle Database 하기Back-End/Spring Legacy 2022. 8. 14. 14:46
웹 프로젝트를 진행하려면 관계형 데이터베이스인 Oracle 11g XE와 연동해야 한다. 계정 생성하기 에러난 다음 문장을 입력해서 book_ex라는 계정을 생성하고 connect와 dba 권한을 부여한다. sql developer에서 새로 만들기 클릭 후 접속 이름과 사용자 정보 등 위의 사진처럼 입력한 후 테스트 상태 성공이 뜨면 저장을 누른다. 오라클은 기본적으로 8080 포트를 많이 사용하는데 tomcat의 포트번호 또한 8080이라 변경해준다. exec dbms_xdb.sethttpport(9090);을 이용해서 포트 변경한다. 프로젝트의 JDBC 연결 sql debeloper를 설치했다면 jdbc/lib 폴더에 JDK 8버전용 ojdbc8.jar 파일이 존재한다. 1. 프로젝트 우클릭 -> B..
-
[1-ch2 스프링] spring, lombok, 테스트 관련 어노테이션 알아보기 (@setter, @Autowired, @ContextConfiguration ,,)Back-End/Spring Legacy 2022. 8. 14. 13:32
코드에 사용된 어노테이션들 위의 어노테이션들에 대해 이야기 해볼 예정인데) 의존성주입 테스트에 대해 알아보고 싶은 분들은 아래 링크 클릭하시길! 아래 어노테이션이 사용된 코드 확인도 가능하다. https://wonisdaily.tistory.com/45 [1-ch2 스프링 특징] 의존성 주입 테스트 (POJO, AOP, DI) 스프링 프레임워크에 대한 이론적인 부분을 살펴보려고 한다. 이번 포스팅에서 알아볼 목표는 아래와 같다. 1. 스프링 프레임워크를 이용한 '의존성 주입'에 대한 이해와 테스트 2. 스프링에서 xm wonisdaily.tistory.com Lombok 관련 어노테이션 Lombok을 간단히 설명해보면 컴파일 시 흔하게 코드를 작성하는 기능들을 완성해주는 라이브러리이다. @Setter 어..
-
[1-ch2 스프링 특징] 의존성 주입 테스트 (POJO, AOP, DI)Back-End/Spring Legacy 2022. 8. 11. 12:54
스프링 프레임워크에 대한 이론적인 부분을 살펴보려고 한다. 이번 포스팅에서 알아볼 목표는 아래와 같다. 1. 스프링 프레임워크를 이용한 '의존성 주입'에 대한 이해와 테스트 2. 스프링에서 xml을 이용하는 객체 관리 방법 3. 스프링의 테스트 환경 구척 스프링이 인기 있는 프레임워크가 된 이유는 '뼈대나 근간을 이루는 코드들의 묶음'이라고 할 수 있다. 스프링의 주요 특징이라고 하면 주로 다음과 같은 점을 들 수 있다. POJO 기반의 구성 의존성 주입(DI)를 통한 객체 간의 관계 구성 AOP(Aspect-Oriented-Programming)지원 편리한 MVC 구조 WAS의 종속적이지 않은 개발환경 POJO 기반의 구성 스프링의 성격 자체가 가벼운(light-weight) 프레임워크지만, 그 내부에..
-
[이클립스 스프링] Spring MVC Project 생성과 실행 초기 설정(path, tomcat, pom.xml, log4j2)Back-End/Spring Legacy 2022. 8. 10. 16:50
개발 환경 코드로 배우는 스프링 웹 프로젝트 (개정판) 책을 시작하려면, 이 책뿐만 아니라 스프링 웹 프로젝트를 실행하려면 스프링 개발 환경 구축부터 시작해야한다. 일단 워니's의 환경은 이렇게 맞춰져 있다. - jdk 11.0.14 - Eclipse IDE for Enterprise Java and Web Developers - 2021-09 - Tomcat 9 - STS3 (3.9.14 롬북을 사용해서 getter/setter/toString 등 주요 메서드, 생성자 등을 자동으로 생성해주기 때문에 다운 받아 사용할 것이다. 아래 Lombok 설치 방법을 따로 포스팅해두었다. https://wonisdaily.tistory.com/2 [Lombok] 이클립스(Eclipse)에 롬북 라이브러리 설치하기..