본문 바로가기

반응형

Programming/Spring

(16)
[Spring] Spring MVC 프로젝트 정적 리소스 접근 경로 설정 일반적으로 정적 경로의 파일은 파일의 접근 경로를 URL로 명시하면 바로 읽을 수 있습니다. Spring MVC 프로젝트에서 정적 경로를 설정하는 방법은 두 가지가 있습니다. XML 설정 WebMvcConfigurer 인터페이스 사용 XML 설정 servlet-context.xml mapping : 매핑 URI 설정 location : 정적 리소스의 위치 설정 WebMvcConfigurer 인터페이스 사용 Spring에서 제공하는 WebMvcConfigurer 인터페이스의 addResourceHandlers() 메소드를 오버라이딩 해서 설정할 수 있습니다. public class WebConfiguration implements WebMvcConfigurer { @Override public void a..
[Spring] 제어의 역전 그리고 의존성 주입 제어의 역전(Inversion of Control) 제어의 역전은 객체 제어의 주체가 객체를 사용하는 클래스 자신이 아닌 외부에 있다는 의미이다. 필요한 객체를 클래스 내부에서 직접 생성하지 않고 외부에서 주입받는 형태를 가진다. 제어의 역전을 구현하는 방법인 의존성 주입(Dependency Injection)에 대해서 알아보자. // 1번 코드_제어의 역전 X public clss UserController { // 클래스 내부에서 객체 생성! private UserService userService = new UserService(); } // 2번 코드_제어의 역전 O public clss UserController { // 인스턴스 필드만 선언! private UserService userServ..
[Spring] @PathVariable을 통한 URI 설정 시 점(.) 이후의 값이 생략되는 현상 이메일 입력값에서 점(.) 이후의 값이 잘려서 넘어온다? 이메일 중복 확인 테스트가 계속 실패했다. 먼저 코드를 확인해보자. 아래 코드는 Controller 클래스의 메소드 그리고 해당 메소드의 테스트 코드이다. 구현 코드 @GetMapping("/email/{userEmail}") public ResponseEntity checkUserEmail(@PathVariable("userEmail") String userEmail) { try { service.isExistUserEmail(userEmail); } catch (EmailAlreadyExistsException e) { return new ResponseEntity(HttpStatus.CONFLICT); } return new ResponseE..
ambiguous handler methods mapped for... ambiguous handler methods mapped for... 말 그대로 요청 URI가 애매하기 때문이다. 애매한 이유는 중복되는 URI가 있기 때문일 것이다. 본인은 아래 코드를 통해 이 에러와 마주했다. @GetMapping("/exists/{userId}) public ResponseEntity checkUserId ... @GetMapping("/exists/{userEmail} public ResponseEntity checkUserEmail... 본인은 처음에 두 메소드의 URI가 서로 다르다고 생각했다. /exists/는 동일하지만 쿼리 스트링으로 들어가는 값이 다르기 때문에 다른 URI 아닌가? 하고 생각했다. 아니다. 두 메소드의 URI는 동일하다. /exists/ 까지가 URI..
[Spring] XML 대신 Java 클래스 파일로 스프링 관련 설정하기 Eclipse의 Spring Legacy Project를 통해 Spring MVC 프로젝트를 생성하면 XML 기반으로 스프링 관련 설정을 하도록 되어있다. 스프링 3버전 이후부터 XML 대신 Java 클래스 파일로 스프링 관련 설정을 할 수 있도록 변경되었다. 이 글에서 Java 클래스 파일로 대체할 XML 파일은 다음과 같다. 참고로 이 글은 스프링 5버전, JDK 1.8 기준으로 작성되었다. web.xml servlet-context.xml root-context.xml web.xml 아래는 Eclipse를 통한 Spring MVC 프로젝트 생성 시 보이는 web.xml 설정이다. contextConfigLocation /WEB-INF/spring/root-context.xml org.springfr..
[Spring Boot] Path with "WEB-INF" or "META-INF" 에러 다음과 같은 에러가 발생했다. Path with "WEB-INF" or "META-INF": [WEB-INF/views/board/form.jsp] application.properties에 다음과 같이 경로 설정도 잘 해놓았고 무엇이 문제인가 싶었다. # jsp spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp 원인은 jsp 관련 의존성을 추가하지 않았기 때문이다. implementation 'javax.servlet:jstl' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' 참고 https://needneo.tistory.com/134 [Springboot] Path wi..
[Spring Boot] Oracle에 log4jdbc 적용 개발환경 Spring Boot 2.5.6 Gradle Java 11 Oracle 11g build.gradle 의존성 추가 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' application.properties 오라클 설정 수정 class-name과 jdbc-url을 수정한다. # 기본적으로 이렇게 설정되어 있을 것이다. spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.hikari.jdbc-url=jdbc:oracle:thin:@localhost:1521:xe # 이렇게 설정을 변경한다. spring.datasource...
[Spring Boot] Maven 설치하기 Maven은 빌드 툴이다. 빌드: 프로젝트 생성, 라이브러리 설정, 코드 작업, 컴파일, 테스트, 패키지 생성, 배포 등의 과정을 일컫는 말. Step.1_Maven 최신 버전 다운로드 아래 링크로 이동하면 Maven 최신 버전을 다운로드한다.(Link의 bin.zip 파일을 다운로드) https://maven.apache.org/download.cgi Maven – Download Apache Maven Downloading Apache Maven 3.8.3 Apache Maven 3.8.3 is the latest release and recommended version for all users. The currently selected download mirror is https://dlcdn.ap..

반응형