본문 바로가기

전체 글45

[스프링부트] SpringBoot AutoConfigure 아래의 내용은 inflearn 강좌인 스프링 부트 개념과 활용을 보고 정리한 글입니다. Backgrounds SpringBoot를 실행하게 되면 다양한 설정들이 뜨는 걸 볼 수 있다. 그러나 우리는 Bean으로 등록한 적이 없는데 이런 설정들이 어디서 어떻게 주입이 되는지 알아볼 필요가 있다. @SpringBootApplication main함수를 보게 되면 보통 @SpringBootApplication 이라는 어노테이션이 존재한다. 어노테이션을 타고 들어가보면 아래와 같이 다양한 어노테이션이 붙어있다. 그 중에서 우리가 살펴볼 만한 것은 아래 3개의 어노테이션이다. @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan @SpringBootC.. 2020. 6. 3.
[스프링] Spring Data 대부분의 애플리케이션은 다양한 데이터 리포지터리와 통신한다. 자바EE에서 제공하는 가장 기본적인 API는 JDBC이다. 일반적인 JDBC코드에는 다음이 포함된다. 실행할 쿼리 스테이트먼트 객체에 대한 쿼리 매개변수를 설정하는 코드 쿼리 실행 결과(ResultSet)를 빈에 옮기는 코드 그러나 JDBC 코드는 작성하고 관리하기 번거롭다. 다음 두 가지 프레임워크가 JDBC 위에 추가 레이어를 제공하기 위해 널리 사용됐다. Mybatis(Ibatis): Mybatis는 수동으로 코드를 작성해 매개변수를 설정하고, 결과를 검색할 필요가 없다. 자바 POJO를 DB에 매핑하는 간단한 XML 또는 어노테이션 기반 구성을 제공한다. Hibernate: Hibernate는 ORM 프레임워크다. ORM 프레임워크는 관.. 2020. 5. 24.
[스프링] Handler Interceptor Handler Interceptor는 컨트롤러에 대한 요청을 가로채는데 사용된다. 예를 들어, 요청 전 후에 일부 처리를 원할 수 있다. 요청 및 응답의 내용을 기록하거나 특정 요청의 소요된 시간을 알아내야 할 수도 있다. HandlerInterceptor를 만드는 데는 두가지 단계가 필요하다. HandlerInterceptor를 정의한다. HandlerInterceptor를 인터셉트할 특정 핸들러에 매핑한다. HandlerInterceptor 정의 public class HandlerTimeLoggingInterceptor extends HandlerInterceptorAdapter { private static final Logger logger = Logger .getLogger(HandlerTim.. 2020. 5. 3.
[스프링] Spring MVC 예제 및 단위테스트 목차 Spring MVC는 이전 블로깅에서도 말했다시피 아래와 같은 플로우를 따른다. 여기서는 Spring MVC를 사용해서 6가지 간단한 웹 플로우를 만드는 예제를 만들 것이다. Flow 1. 뷰가 없는 컨트롤러, 자체적으로 컨텐츠 제공 Flow 2. 뷰가 있는 컨트롤러 (JSP) Flow 3. 뷰가 있고, ModelMap을 사용하는 컨트롤러 Flow 4. 뷰가 있고, ModelAndView를 사용하는 컨트롤러 Flow 5. 간단한 폼의 컨트롤러 Flow 6. 벨리데이션이 있는 간단한 폼의 컨트롤러 기본 설정을 해야하는 것은 Spring MVC의 의존성을 추가한다. DispatcherServlet을 web.xml에 추가한다. Spring Application Context를 생성한다. Spring MV.. 2020. 4. 26.
[프로그래머스] 완주하지 못한 선수 [문제 설명] 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. [제한 사항] 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. [입출력 예] participants completion return [leo.. 2020. 4. 10.
[프로그래머스] 가장 긴 팰린드롬 [문제 설명] 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. [제한 사항] 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성[입출력 예] s answer "abcdcba" 7 "abacde" 3 [입출력 예] 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므로 7을 return합니다. 입출력 예 #2 2번째자리 'b'를 기준으로 aba가 팰린드롬이 되므로 3을 retu.. 2020. 4. 5.