본문 바로가기

Java & 스프링40

[Java] 자바의 예외 - Exception, RuntimeException 그리고 Error 자바의 Error, Exception에 대해 알아보려 한다. 지금부터 볼 내용은 포스팅 가장 아래의 레퍼런스 링크를 참조해서 읽어보면 좋겠다. 일단 Error와 Exception의 차이에 대해 알아보자. Throwable class Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스이다. 이 클래스의 인스턴스(또는 그 서브 클래스 중 하나)인 객체만 Java Virtual Machine에 의해 발생되거나 Java throw 문에 의해 발생될 수 있다. 예외의 compile-time checking을 위해, RuntimeException 또는 Error의 서브 클래스가 아닌 Throwable 및 Throwable의 서브 클래스는 Checked 예외로 간주된다. Error class.. 2019. 11. 5.
[스프링 부트] war 파일과 외부 톰캣을 이용한 서버 배포 CentOS8 환경에서 war 파일을 배포해보려고 한다. 스프링 부트 application을 jar이 아닌 war형식으로 외부 톰캣을 이용해 배포해 보자 톰캣이 설치되어 있지 않다면 아래 링크를 참조하길 바란다. [Server] - [CentOS] tomcat 설치 하기 방법은 매우 간단하다. 톰캣이 설치만 되어 있다면 5분 내에 끝낼 수 있다. 스프링 부트를 war로 배포 하기 위해선 소스 수정이 필요하다. 일단 pom.xml에서 packaging 방식을 war로 변경해보자. 태그 부분이 war인지 확인하면 된다. com.hongjun423 toy_project 1.0-SNAPSHOT war packaging을 war로 변경하면 mvm을 이용해 패키징 할 때 war 방식으로 패키징 될 것이다. 이제 m.. 2019. 10. 30.
[스프링 부트] 정적 리소스 - static resource 기본적으로 Spring Boot는 classpath의 /static 또는 ServletContext의 root를 기준으로 아래의 경로에서 정적 컨텐츠를 제공한다. 기본적으로 Spring MVC의 ResourceHttpRequestHandler를 사용하는데 이를 커스터 마이징 하기 위해선 WebMvcConfigurer를 추가하고 addResourceHandlers 메서드를 재정의하여야 한다. /static /public /resources /META-INF/resources 기본적으로 리소스는 / **에 매핑되지만 spring.mvc.static-path-pattern 속성을 사용하여 조정할 수 있으며, spring.resources.static-locations 속성을 지정하여 정적 리소스의 defaul.. 2019. 10. 24.
[스프링 부트] 스프링 MVC - 스프링 부트의 Message Converter 스프링 mvc를 설정하지 않아도 부트에서 기본적으로 사용할 수 있는 이유는 기본적인 설정을 자동으로 해주기 때문이다. dependency에 'spring-boot-starter-web'이나 'mvc'를 추가하면 기본적인 설정을 해준다. 아래 경로에서 해당 내용을 찾아보자. spring-boot-autoconfigure-2.1.5.RELEASE.jar -> spring.factories-> WebMvcAutoConfiguration 스프링이 request에 대한 응답을 response 할 때 json, xml과 같은 다양한 타입을 자동으로 변환하는 역할은 누가 하는 걸까? 바로 HttpMessageConverter 스프링에서 제공하는 interface에서 이 역할을 수행한다. Spring MVC는 Http.. 2019. 10. 23.