반응형

Java Spring 17

[Spring]단위테스트 jUnit

목차 단위테스트 jUnit 개발하기전 아래와 같이 jUnit으로 JDBC Connection을 먼저 하고 시작하는 습관을 기를 것 단위테스트 하기 위해 매번 Tomcat을 실행하지 않고도 jUnit 테스트 도구를 이용해서 Tomcat 실행 없이 springFramework를 구동시켜서 DB Connection, CRUD등의 테스트가 가능해서 시간도 절약되고 매우 효율적이므로 개발 시에 항상 작성하는 습관을 기르도록 하자 스프링5 버전의 경우 pom.xml에서 jUnit 버전을 4.12 이상으로 해야 한다고 함 아래는 HikariCP를 이용한 Connection Pool Test 예제 이미지임 @RunWith, @ContextConfiguration 클래스 상단에 어노테이션등을 사용해서 설정하고 jUnit..

IT/development 2022.11.27

[Spring]spring 404 에러 페이지 처리

목차 spring 404 에러 페이지 처리 WAS의 구동 중 가장 흔한 에러와 관련된 HTTP 상태코드는 '404'와 '500' 에러코드 임 500 메시지는 'Internal Server Error'이므로 @ExceptionHandler를 이용해서 처리되지만, 잘못된 URL을 호출할 때 보이는 404 에러 메시지의 경우는 조금 다르게 처리하는 것이 좋음 서블릿이나 jsp를 이용했던 개발 시에는 web.xml을 이용해서 별도의 에러 페이지를 지정할 수 있었음, 에러 발생 시 추가적인 작업을 하기는 어렵기 때문에 스프링을 이용해서 404와 같이 WAS 내부에서 발생하는 에러를 처리하는 방식을 알아두는 것이 좋음 스프링 MVC의 모든 요청은 DispatcherServlet을 이용해서 처리되므로 404 에러도 ..

IT/development 2022.11.27

[Spring]spring RedirectAttribute

목차 spring RedirectAttribute Model 타입과 더불어서 스프링 MVC가 자동으로 전달해 주는 타입 중에는 RedirectAttribute 타입이 존재함 RedirectAttribute는 조금 특별하게도 일회성으로 데이터를 전달하는 용도로 사용됨 RedirectAttribute는 기존에 Servlet에서 response.sendRedirect()를 사용할 때와 동일한 용도로 사용됨 아래 이미지처럼 RedirectAttribute는 Model과 같이 parameter로 선언해서 사용하고 addFlashAttribute(이름, 값) 메서드를 이용해서 화면에 한번만 사용하고 다음에는 사용하지 않는 데이터를 전달하기 위해서 사용됨 출처: 코드로 배우는 스프링 웹 프로젝트(개정판)

IT/development 2022.11.27

[Spring]springframework Controller

목차 Spring Controller spring controller의 paramter 수집 Controller를 작성할 때 가장 편리한 기능은 parameter가 자동으로 수집되는 기능임, 이 기능을 이용하면 매번 request.getParameter()를 이용하는 불편함을 없앨 수 있음 위와 같이 SampleDTO class가 있고(Lombok 사용으로 @Data 어노테이션으로 자동으로 setter, getter, toString method 생성) 위와 같이 SampleController의 method가 SampleDTO를 parameter로 사용하게 되면 자동으로 setter 메서드가 동작하면서 parameter를 수집하게 됨 method에는 @GetMapping이 사용되었으므로, 아래와 같이 브..

IT/development 2022.11.27

[Spring]pom.xml에서 dependency 설정 해 줬는데 해당 라이브러리가 다운이 안되는 경우

목차 보통 로컬 repository안의 내용을 지우고 다시 다운을 받거나 하는 방식으로 해결이 되는데 하다하다 안되면 maven에서 참조를 못하는 .jar파일을 "프로젝트/src/main/webapp/WEB-INF/lib 디렉터리에 넣고 pom.xml에서 properties태그에 아래처럼 jar파일을 넣은 lib디렉터리를 설정 해줌 4.2.4.RELEASE 3.7.0 ${project.basedir}/src/main/webapp/WEB-INF/lib 그 다음 dependency를 해당 lib디렉터리의 jar로 설정 org.springframework.webmvc org.springframework.webmvc-4.2.4 4.2.4 system ${project.lib.path}/spring-webmvc-..

IT/development 2022.11.26

[Spring]스프링 프로젝트 이클립스에서 프로젝트명 변경 시 tomcat 에러

목차 web.xml의 태그명이 변경되어서 에러 나는 경우 로그는 아래와 비슷함..로그를 보니..이미 정의되어 있다고 한다. 원인은 아래와 같이 web.xml에 xmlns가 중복되어 있었음 그리고 web.xml상단의 web-app에서 이미 id값도 설정 했기에 제일 마지막 줄의 id도 삭제를 해야 정상적으로 tomcat을 구동할 수 있음

IT/development 2022.11.26

[springBoot] 유효성 검증(feat. @Valid, Validated)

목차 SpringBoot 유효성 검증 😄 클라이언트에서 넘어온 값들에 대한 유효성 검증이 필요한데 if(id != null || id != ""...) 이렇게 if문으로 유효성 체크를 하기 싫어서 자바나 스프링에서 지원하는 좋은게 어디 없나 보다가 구글링을 하고 @Valid와 @Validated를 알게되어서 적용을 해봤고 이를 기록한다. 난 "", " ", null 이렇게 3개만 체크하면 되는 부분이었다. 결론은 스프링부트에선 @Valid와 @Validated 2개를 사용해서 간단한 유효성 체크를 할 수 있음 @Valid 🥰 @Valid는 JSR-303 Bean Validator를 이용해서 유효성을 체크하는 어노테이션임(자바 표준 스펙) 사용법 스프링부트 버전에 따른 의존성 추가 사용하는 스프링 부트 버..

IT/development 2022.11.22
반응형