일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 토비의스프링
- 컴퓨터시스템
- JPA
- 프록시
- exception
- 토비의스프링3.1
- Kotlin for Java Developers
- lambda
- 자바
- String
- 클린코드
- IOC
- Immutable
- 빌드툴
- gradle
- DispatcherServlet
- ORM
- springboot
- ApplicationContext
- 링커
- hibernate
- AutoConfiguration
- beanfactory
- Spring
- DesignPattern
- 메이븐
- FunctionalInterfaces
- 링킹
- java
- springwebmvc
- Today
- Total
목록springboot (7)
엔지니어로 가는 길

* HttpMessageConverter가 무엇인지에 대해서는 다음 기회에 다루기로 한다. WebMvcConfigurer Spring은 `WebMvcConfigurer`라는 인터페이스를 통해 웹과 관련된 설정을 커스터마이징 할 수 있도록 돕는다. WebMvcConfigurer Defines callback methods to customize the Java-based configuration for Spring MVC enabled via @EnableWebMvc. @EnableWebMvc-annotated configuration classes may implement this interface to be called back and given a chance to customize the defau..

@EnableWebMvc - Spring에서 제공하는 어노테이션 - `@Configuration`이 붙은 자바 클래스 설정 파일에 사용될 수 있다 - 이 어노테이션이 붙을 경우 `WebMvcConfigurationSupport` 클래스로부터 Spring MVC 설정을 import 한다 (`HandlerMapping`, `HandlerAdapter`, `ConversionService` 등 웹과 관련된 빈들이 등록된다) @WebMvcAutoConfiguration - Spring Boot에서 제공하는 어노테이션 - 웹과 관련된 자동설정이 이루어진다 - spring-boot-starter-web 의존성을 추가하면 별도의 작업을 해주지 않아도 말 그대로 자동으로 설정된다 Spring Boot 자동설정과 관련해..
Spring boot 버전을 올려보자 Spring boot 2.0을 사용 중인 프로젝트의 버전을 최신 버전으로 올려보려고 한다. 간단한 일은 아니겠지만 불가능한 일도 아니다. 수많은 문제를 끊임없이 만나게 될 텐데, 문제를 만나서 해결하거 live-everyday.tistory.com 담당하고 있는 프로젝트의 Spring Boot 버전을 2.0.1에서 2.7.6까지 올렸다. 위 글에서 Spring Boot 버전을 올려보고 싶다고 말하기는 했으나 이렇게 생각보다 빠르게 마무리될 줄은 몰랐다. 이 글에서는 Spring Boot 버전업 과정에서 만난 이슈를 정리하려고 한다. (버전을 올림에 따라 발생할 수 있는 모든 이슈가 아닌, 회사 프로젝트에서 발생한 이슈만 정리하였다.) 2.1.18 -> 2.2.13 A..
Spring boot 2.0을 사용 중인 프로젝트의 버전을 최신 버전으로 올려보려고 한다. 간단한 일은 아니겠지만 불가능한 일도 아니다. 수많은 문제를 끊임없이 만나게 될 텐데, 문제를 만나서 해결하거나 또는 해결하지 못했다면 왜 해결하지 못했는지, 어디서 막혔는지를 잘 정리할 것이다. 최신 버전의 Spring boot를 사용하게 된다는 것은 결과이다. 어쩔 수 없는 이유로 당장 최신 버전을 사용하지 못할 수도 있다. 결과는 어쩔 수 없는 영역인데, 결과에 너무 집중하면 원하는 결과가 나오지 않았을 때 실망하게 된다. 이 일을 할 때는 Spring boot의 버전별 차이와 빌드툴에 대해 배우는 것을 목적으로 접근하려고 한다. 최신 버전을 사용할 수 있게 된다면 좋은 일이고, 그렇게 되지 않더라도 어디서 ..

Contents 1. Introduction 2. @Conditional 모든 Spring 프로젝트의 Configuration에서 공통되는 부분이 있다면? Configuration이 공유될 때 발생할 수 있는 문제 @Conditional @Conditional을 이용한 개선 3. AutoConfiguration Spring Boot 애플리케이션을 실행하면 일어나는 일 Spring Boot의 핵심적인 특징 세 가지 톰캣이 뜨는 과정(Spring Boot의 AutoConfiguration이 적용되는 과정) 4. Reference Introduction Spring Boot는 Spring 플랫폼과 써드 파티 라이브러리에 대한 *주관을 가지고 있기에 *요란한 동작 없이 Spring Boot로 애플리케이션 개발을..

Converter Converter란 객체를 다른 객체로 변환해주는 일을 한다. 예를 들어, Spring boot에서 문자열을 과일이라는 객체로, 과일이라는 객체를 문자열로 변환하고 싶다면 다음과 같은 Converter를 빈으로 등록해주어야 한다. DomainClassConverter DomainClassConverter도 Converter인데 이름에서 알 수 있듯 도메인 객체를 다른 객체로, 또는 다른 객체를 도메인 객체로 변환해주는 일을 한다. Spring data jpa를 사용하면 DomainClassConverter가 자동으로 등록된다. Spring MVC 컨트롤러에서 매우 유용하게 사용할 수 있다. 위의 예시를 보면 showuserFrom 핸들러는 @PathVariable을 통해 url에 있는 ..

PathVariable로 LocalDate 꼴의 문자열을 LocalDate 타입의 객체로 받는 메소드를 만들고 싶었다. 테스트 코드를 작성하였다. 결과는 실패. 메소드 인자 타입이 맞지 않아서 문제가 되었다고 하니 String을 LocalDate 타입으로 변환해주는 게 default로 설정되어있지는 않은가 보다. LocalDate 타입 정도는 등록되어있을 줄 알았기 때문에 살짝 당황했다. 그래서 Formatter를 만들었다. Formatter 만들어 등록하면 String과 Object 간의 변환이 가능해지기 때문이다. Spring boot를 이용할 경우 Formatter를 bean으로만 등록해주면 알아서 등록이 이루어진다. 근데 테스트가 또 깨졌다. 같은 이유로 말이다. Formatter가 제기능을 못했..