스터디/스프링

Spring Boot에서 Spring Bean 초기화 과정에 대해 알아보자.

Spring Boot를 사용하면 자연스럽게 Spring Bean을 직접 생성하고 사용할 일이 많아진다. 따라서 우리는 Spring Bean을 생성하는 방법은 당연히 알고 있어야 하고 더 나아가 어떠한 방식으로 등록되는지 알고 있어야 한다. 이 글에서 개발자가 생성하거나 Spring Boot가 제공하는 Spring Bean을 어떻게 사용할 수 있게 되는지 간략하게 알아보도록 하자. Spring Bean을 만드는 방법 개발자가 직접 Spring Bean을 만드는 방법은 두 가지가 있다. @Component 어노테이션을 이용하는 방법과 @Bean 어노테이션을 이용하는 방법이다. @Component 어노테이션의 경우 아래와 같이 클래스에 명시해 주면 된다. @Component public class MyCust..

2020.10.05 게시됨

스터디/스프링

Spring Boot 로컬 환경에서 정적 리소스 리로드 하기

로컬 환경에서 정적 리소스 리로드 하기 개요 우테코 레벨 2를 진행하면서 웹 페이지, 특히 js를 많이 작성하게 됐습니다. 그러다 보니 정적 파일(특히 js)을 수정하면 Spring boot에서 실행중이던 app을 재시작해서 수정된 정적 정보를 다시 불러와야 했습니다. Spring devtools 의존성을 추가해서 리로드 하는 방식이 있지만 빌드 속도가 느려지고 개발환경 외에 사용되지 않는 의존성을 추가하고 싶지 않았습니다. 게다가 필자는 설정해도 됐다 안됐다 하네요;; 얼마전 WebMvcConfigurer에서 resourceHandler를 다뤘는데 이를 이용하면 간단하게 해결이 된다는 것을 알게되어 공유하고자 합니다. 바라보는 정적 리소스의 위치 수정하기 아래는 이전에 작성한 classpath 아래의 ..

2020.05.22 게시됨

스터디/스프링

Spring Boot HTML 파일 templates에서도 읽도록 설정하기

static 아닌 폴더에서 정적 정보 읽어오기 스프링 부트에 web 의존성을 추가하고 localhost:8080으로 접근하면 기본적으로 resources 폴더에 있는 static 에 위치한 index.html 파일을 읽게됩니다. 프로젝트를 생성하고 다음과 같이 index.html을 생성하여 static 에 위치시키고 애플리케이션을 실행후 localhost:8080으로 접근하면 다음과 같이 index 페이지가 출력되는것을 확인할 수 있습니다. static 에서 접근하는 것은 문제가 없습니다. 그러나 html 파일들은 static이 아닌 resources 밑에 templates 폴더에서 관리를 하고 싶어진다면 문제가 발생합니다. 아래와 같이 home.html을 resources 밑 templates에 위치시..

2020.05.18 게시됨

스터디/JPA

[JPA] nullable = false와 @NotNull의 차이점

지금 보시는 이글은 정확하지 않습니다. 곧 수정예정입니다. nullable = false vs. @NotNull 친구들과 스프링 부트를 공부하던 도중 한 친구가 내 코드를 보고 저번에는 @NotNull을 쓰던데 이번에는 nullable = false를 쓴 이유가 무엇이냐고 물어봤다. 둘다 내가 원하는 대로 동작한다고 생각만했다. 와,, 깊이 생각해 본적이 없었다! 그래서 바로 찾아봤다! nullable = false 관련 레퍼런스에서 설명을 보려했는데 JPA레퍼런스가 다 영어라서 어디로 가야할지 모르겠다.. 그래서 코드에서 정의되어있는 부분을 확인해 보았다. /** * (Optional) Whether the database column is nullable. */ boolean nullable() de..

2019.05.06 게시됨