본문 바로가기
반응형

개발/spring, spring boot19

[spring boot] 예외처리 java의 예외처리 java의 예외처리는 체크드 예외(Checked Exception)와 언체크드 예외(Unchecked Exception)로 구분된다. 체크드 예외는 컴파일 시점에 발생하는 예외로 빌드가 되지 않기 때문에 소스를 수정해야 하고, 언체크드 예외는 컴파일은 통과하였지만 실행 시점에 발생하는 예외이다. 스프링에서의 예외 처리는 언체크드 예외 처리이며, 예외처리 클래스는 RuntimeException을 상속해서 구현해야 한다. 보통의 java 프로그램에서는 try catch finally구문을 통해서 예외를 처리할 수 있지만, 스프링 기반의 웹 애플리케이션에서는 스프링에서 지원하는 예외처리 기법을 사용하면 편하게 처리 할 수 있다. 스프링의 2가지 예외처리방법 @ControllerAdvice를.. 2021. 10. 17.
[Spring Boot] JPA와 Thymeleaf를 이용한 간단한 게시판 개발 예제 아래 포스팅 글에서 만든 예제를 그대로 사용하면서 view 화면만 Thymeleaf로 변경한다. jsp -> html (Thymeleaf) 2021.08.14 - [개발/spring, spring boot] - [Spring Boot] JPA와 JSP를 이용한 간단한 게시판 개발 예제 기존 프로젝트에서 view를 변경해도 되지만 신규 프로젝트를 생성하여 기존 소스 java 부분을 복사하여 html만 신규로 작성한다. 프로젝트 생성 시 선택 한 Dependencies 기존 jsp에서는 WEB-INF에서 아래 jsp 폴더를 만들어 사용했지만 Thymeleaf에서는 아래 경로대로 파일을 생성해야 한다. Thymeleaf 웹 리소스 경로 파일 경로 정적 HTML 파일 src/main/resources/stati.. 2021. 8. 28.
[Spring Boot] JPA와 JSP를 이용한 간단한 게시판 개발 예제 springboot는 jsp 사용을 권장하지 않는다. 이유 : 독립적으로 실행가능한 빠른 개발을 목표로 하기 때문. (웹어플리케이션은 WAR 배포가 아닌 JAR 배포를 권장) jsp를 사용하면 JAR 배포가 아닌 WAR 배포를 해야 하고(jar 배포 시 jsp파일은 배포에 포함되지 않는다..), WAR는 복잡한 폴더 구조를 가져야 하므로 springboot가 목표로 하는 독립실행,빠른개발에 어울리지 않는다나... 뭐라나... 하지만 실제 현업에서는 아직도 jsp를 많이 사용하고 있다. jar 배포, war 배포 는 나중에 다시 정리 해보자. H2DB를 사용할 예정이므로 아래 게시물을 참고하여 로컬에 H2DB 설치가 필요함. 2021.08.01 - [개발/database] - [H2 DB] 설치 및 실행 .. 2021. 8. 14.
[Spring Boot] 독립적으로 실행 가능한 JAR 배포 spring boot는 독립적으로 실행 가능한 jar 를 배포 해준다. 기존 spring framework에서는 빌드된 소스를 그대로 배포하던가, 혹은 war 형태로 배포했으며 (배포는 apache Ant를 사용했었다.) 실제 실행되려면 WAS(ex. tomcat)가 필요했었다. spring boot에서 사용하는 maven(혹은 gradel)에서는 기존 apache Ant가 하던 패키징 작업도 실행가능하다. Manven에서 배포 하려면 install 명령을 실행하면 된다. install 되면 target 폴더 아래에 실행가능한 jar 파일이 생긴다. jar 파일을 실행. (콘솔에서 java -var xxx.jar) 브라우저로 접속 시 잘 동작한다. 더이상 WAS 설치/세팅등 이 필요없으며, docker,.. 2021. 8. 1.
[Spring Boot] 로깅 스프링 부트는 SLF4J (Simple Logging Facade for Java)를 이용하여 로그를 관리한다. 궁극적으로는 LogBack을 사용한다. Facade : 로깅 프레임워크가 아니며, 복잡한 로딩 프레임워크를 쉽게 사용할 수 있게 도와준다. 다른 퍼사드를 사용해도 되며, 프레임워크와 의존성이 낮기 때문에 쉽게 교체도 가능하다. LogBack : Log4j 개발자가 기존 Log4j를 대체하기 위해서 만들었으며, Log4j에 비해 성능이나 기능 면에서 많은 장점을 제공한다. logback.xml로 복잡하게 설정하던 부분들을 아래 application.properties에서 간단하게 설정이 가능하다. 로깅 샘플 package com.tistory.hitomis; import org.slf4j.Log.. 2021. 7. 12.
[String Boot] 스프링부트를 구성하는 핵심 요소 3가지 1. 스타터 (Starter) 스프링이 제공하는 특정 모듈을 사용 할 수 있도록 관련된 라이브러리 의존성을 해결 프로젝트에 필요한 모듈이 있으면 해당 모듈에 해당하는 스타터만 추가해주면 알아서 관련 라이브러리까지 묶어서 패키지처럼 제공해주므로, 사용자가 일일이 해당 모듈이 필요한 라이브러리를 찾아서 추가 할 필요가 없다. "spring-boot-starter-모듈명" 형태로 구성되어 있다. pom.xml 에서 웹 스타터 예시 (간단한 MVC 웹 프로젝트 시 수많은 라이브러리가 필요하나, 아래 1개의 스타터 추가로 관련 라이브러리가 패키지 형태로 자동 설정된다.) org.springframework.boot spring-boot-starter-web pom 파일의 상속구조로 위 1개의 스타터로 여러 라이브.. 2021. 7. 10.
반응형