Spring
-
SpringSpring/Spring 2022. 1. 13. 22:25
Spring의 시작 Spring은 개발자라면 1번은 접하게 되는 단어이다. 단어에서 알 수 있듯이 Spring이란 봄을 뜻하는 말이다. Spring이란 이름이 붙여진 이유가 뭘까? 과거에는 서버 어플리케이션의 생산성의 향상과 이동성을 실현하기 위해서 생겨난 Enterprise JavaBeans(EJB)를 사용 하였다. 하지만 이 EJB는 사용하기에 너무 복잡하고 서버를 띄우는데 느렸다. EJB가 제공하는 인터페이스를 다 구현해야했고, EJB에 의존적으로 개발을 해야했기때문에 개발을 하면 할 수록 코드가 복잡해지는 단점과 코드를 테스트하는데 서버가 가동되는 시간이 오래걸렸던점 등 여러 이유로 EJB는 외면받게 되었다. 이러한 EJB를 사용했던 개발자 중 로드 존슨(Rod Johnson)이 EJB의 단점을 ..
-
Spring MVC - RestcontrollerSpring/Spring MVC 2022. 1. 4. 17:29
Restful API Restful API는 응답결과를 데이터만으로 구성하여 클라이언트로 전달하는 방식 @Restcontroller Restful API를 구성하기위한 어노테이션 @Restcontroller를 통해 return을 하게 되면 그 값 자체를 브라우저에 전달한다. JSON 라이브러리 추가 다양한 데이터를 보낼 수 있도록 돕는다. com.fasterxml.jackson.core jackson-databind 2.13.0 bundle JSON 데이터를 응답결과로 보내기 @RestController public class RestTestController { @GetMapping("test2") public ResponseEntity test2() { DataBean bean1 = new DataB..
-
Spring MVC - MyBatis XML 설정Spring/Spring MVC 2022. 1. 4. 16:46
MyBatis XML 설정 이번엔 XML으로 설정하는 방법을 알아보자 db.properties 생성 db.classname = oracle.jdbc.OracleDriver db.url = jdbc:oracle:thin:@localhost:1521/xepdb1 db.username = 아이디 db.password = 비밀번호 Mapper 생성 Mapper는 쿼리문을 작성하는 파일이다. ▼ mapper.xml (/WEB-INF/mapper/) CDATA는 XML 문법 중 하나이다. 작성 중 특수한 문자들이 들어갈 경우 오류가 발생할 수도 있는데 이를 방지하기 위해 넣어준 것이다. 빼도 상관없다. ServletAppContext.xml 설정 1. PropertyPlaceholderConfigurer Bean ..
-
Spring MVC - oracle db 연결 실패 문제 (Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:)Spring/Spring MVC 2022. 1. 4. 13:30
Spring MVC - oracle db 연결 실패 문제 Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:ORA-12505, 공부하다가, 혹은 강의를 보다가 하라는 대로 했는데 위와 같은 오류페이지가 나타날때가 있다. 이유는 간단하다. 위와 같은 에러 메시지를 보면 connection with the following error 가 문제이다. 보통 위와 같은 오류가 발생하는 이유는 다음 2가지이다. DB 정..
-
Spring MVC - MyBatis Java 설정Spring/Spring MVC 2022. 1. 4. 01:08
MyBatis Java 언어를 이용하여 데이터 베이스를 연동하는 기술을 JDBC라 하는데 이 JDBC를 보다 쉽게 이용할 수 있도록 설계된 라이브러리이다. Spring Framework에서 이용할 수 있도록 라이브러리를 제공한다. 더보기 com.oracle.database.jdbc ojdbc11 21.3.0.0 - 오라클 JDBC 드라이버 org.apache.commons commons-dbcp2 2.9.0 - 커넥션 풀 라이브러리 - JDBC 이용해 생성한 Connection을 효율적으로 활용하기 위해 Connection 객체를 관리하는 것을 DBCP의 개념으로 본다. org.mybatis mybatis 3.5.8 - MyBatis라이브러리 org.mybatis mybatis-spring 2.0.6 -..
-
Spring MVC - 예외처리Spring/Spring MVC 2022. 1. 4. 00:07
예외처리 프로그램 실행 중 오류가 발생되면 프로그램이 중단되고, 오류 페이지가 나타나게 된다. Java에서는 이를 방지하기 위해 오류 처리라는 개념이 있다. 오류 발생 시 보여줄 JSP를 만들고 오류가 발생하면 이 JSP를 응답 결과로 브라우저에 전달한다. Exception Handler는 각 Controller에서 처리하는 Exception Handler와 해당 Controller에 없는 예외 처리를 위해 Global Exception Handler를 만든다. Controller에도 특정 예외처리가 있고 controllerAdvice에도 특정 예외처리가 있다면 Controller에 있는 예외처리가 우선 처리된다. Exception Handler 각 Contoller에 발생 가능한 예외들을 Excepti..
-
Spring MVC - InterceptorSpring/Spring MVC 2022. 1. 3. 22:21
Interceptor AOP를 적용한 Spring MVC의 요소 Interceptor는 요청이 발생하면 Controller의 해당 메서드를 호출하기 전, 후에 Interceptor하여 다른 메서드를 호출할 수 있도록 가로 채는 개념이다. 여러 메서드들이 코드가 중복 되는 부분이 있을 때 Interceptor를 이용하면 유용하다. 로그인 여부 확인, 등급별 서비스, 사용 권한 확인 등에 쓰인다. Java로 설정하는 방법과 XML로 설정하는 방법이 있다. 방법 1 - Java Interceptor 구현 따로 Interceptor 패키지를 만들어줘서 관리하자. ▼ TestInterceptor1.java public class TestInterceptor1 implements HandlerInterceptor{..
-
Spring MVC - Validator 커스터마이징Spring/Spring MVC 2022. 1. 3. 21:31
Validator 커스터마이징 라이브러리를 사용하지 않고 개발자가 필요한 Validator을 만들어보자. 지금까지 유효성 검사는 Hibernate를 이용하였었다. JSR-303, JSR-380 에 필요한 Validator가 없을 때 추가적으로 유효성 검사 조건이 필요할 경우 만든다. 우선 error_message.properties를 Message로 등록을 하고 DataBean1을 만들어준다. Mesage 등록은 이전 게시판 참고하길 바란다. DataBean1의 property에 어니 테이션 없이 Validator 커스터마이징으로 유효성 검사를 해보자. public class DataBean1 { @Size(min=2, max=10) private String data1; private String da..