스프링부트에서는 @SpringBootTest 를 통해서 Application Test에 필요한 거의 모든 기능을 제공한다. 우선 사용하기 위해서는 의존성이 필요하다. org.springframework.boot spring-boot-starter-test test 그러면 다음과 같이 가장 기본적인 형태로 Test코드를 작성할 수 있다. @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) class SampleControllerTest { } @SpringBootTest 의 webEnviroment는 기본값으로 MOCK가 잡혀있는데, 이 경우는 서블릿 컨테이너를 띄우지 않고 MockU..
Spring Boot는 기본적으로 Commons Logging을 사용하는데, SLF4j도 사용가능 하다. 그러나 최종적으로는 Logback을 사용하게 된다. (Logback이 SLF4j 의 구현체, dependency를 보면 JUL, Log4J를 SLF4j로 보내는 의존성이 존재한다.) * 로깅퍼사드 vs 로거 Coomons Logging / SLF4J는 Logger들을 추상화해둔 인터페이스.. 주로 framework는 이러한 퍼사드를 이용해서 코딩을 한다. -> 이렇게하면 로깅 퍼사드 아래의 Logger들을 바꿔 끼울 수 있다는 장점 (JUL, Log4J2, Logback) framework에서 로깅 퍼사드 기반으로 코딩을 하는 이유는 본인들이 원하는 로거를 사용할 수 있도록 하기 위해 간단한 설정을 ..
간혹 파이썬으로 txt파일을읽어올 때, 분명 txt 형식은 List의 형태를 띄고 있지만 막상 불러오면 이 녀석들이 문자열로 들어오는 경우가 있다. # "['a','b','c','d']" 하지만 우리는.. 그냥 저렇게 생긴 문자열도 List로 가져오길 바라지만 그렇지 않기 때문에 위와 같이 List를 흉내내고 있는 문자열을 진짜 List로 바꿔보려고 한다. 대단해 보이지만 굉장히 간단하 import ast txt = "['a','b','c','d']" ast.literal_eval(txt) ast 라이브러리의 literal_eval 이라는 메소드를 사용하면 ! ast.literal_eval(txt) ''' [OUT] ['a','b','c','d'] ''' type(ast.literal_eval(txt) ..
이번에는 profile 설정에 대해 살펴보도록 하자, 사실 외부 설정과 이어지는 내용이기도 하다. profile 설정은 특정한 profile에서만 특정 Bean을 등록한다거나, Application 동작을 특정 profile에서 Bean 설정을 다르게 하고 싶을 때 사용한다. 먼저 예시로 사용할 Class를 소개하겠다. 1. prod profile을 갖는 Configuration class @Profile("prod") @Configuration public class BaseConfiguration { @Bean public String hello() { return "Hello"; } } 2. test profile을 갖는 Configuration class @Profile("test") @Confi..
기본적으로 Spring Boot에서는 application.properties라는 파일을 설정 파일로 사용한다. (YML도 사용하기도 한다.) 설정 파일을 Application 안팎에 둘 수 있는데, 저 녀석이 Spring Boot가 Application을 구동할 때 자동으로 로딩하는 파일 이름이다. 여기에 key - value 형태로 값을 정의하면 Application에서 참조하여 사용할 수 있게 된다. 여기서 중요한 점은 property는 우선순위에 따라서 그 값이 overwrite될 수 있다는 점이다. 프로퍼티 우선 순위 1. 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 2. 테스트에 있는 @TestPropertySource 3. @SpringBootTest ..
스프링 부트의 가장 기본적인 특징을 살펴보도록 하자. 1. Banner 설정 Spring Application을 띄울 때 항상 등장하는 Banner를 직접 Customizing 할 수 있다. 직접 코딩을 통해 만드는 방법도 있지만... 가장 간단한 방법만 소개하고 넘어가도록 한다. resources 디렉토리 안에 Banner.txt | gif | jpg | png 파일을 넣어주면 된다. txt 파일안에 직접 문자를 입력하면 해당하는 문자열이 Application이 뜰 때 등장한다. 또한, gif / jpg / png 파일과 같이 이미지 파일도 등록할 수 있다. 그렇게 중요한 부분은 아니기 때문에 그 외 간단한 것들만 살펴보고 넘어가도록 하자.. Banner.txt에 사용할 수 있는 변수가 존재한다. 아래..