일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- static inner class
- spring camp
- JPA mapping
- IntelliJ
- Spring Data REST
- SuperTypeToken
- spring bean
- JUnit
- tomcat
- spring batch 코드
- Spring Batch
- Data REST
- batch
- 코드 리뷰
- spring-webmvc #코드읽기
- Spring Data JPA
- spring pid
- spring-webmvc
- REST API
- spring-mvc
- ORM
- spring boot tomcat
- ApplicationPidFileWriter
- docker
- 세미나
- 톰캣
- spring jpa
- JPA
- spring boot
- Spring
- Today
- Total
목록Spring (38)
woniper
오늘은 어떤 코드를 살펴볼까 고민하다가. 로컬 환경에 셋팅해 놓은 스프링 부트 패키지를 살펴보다가 actuator 패키지가 눈에 들어왔다. 스프링 부트에서는 actuator라는 멋진 녀석이 있는데, 이는 실행 중인 서버에 상태값이나 여러가지 정보를 확인 할 수 있는, 말하자면 모니터링 가능한 데이터를 자동으로 제공한다. 잘 와닿지 않을 수 있는데 오늘 살펴본 actuator에서 BeanEndPoint Class가 하는 역할은 localhost:8080/beans 라는 url로 요청하면 현재 스프링 부트로 동작하는 서버에 bean으로 등록된 bean 리스트를 json 형태로 응답한다. 즉, localhost:8080에서 관리되는 bean 리스트를 조회한다는 것인데, 이런식으로 자동으로 제공되는 모니터링 가..
스프링 부트가 요즘 굉장히 핫!! 하다.MSA가 유행하면서 그에 발맞춰 여러가지 프로젝트가 쏱아져 나오는 느낌이랄까? 스프링 부트가 처음 나왔을때 굉장히 충격이였다. 내가 처음 스프링을 접했을 때에는 설정이 너무 어렵고 왜 이렇게 복잡한 설정을 해야만 겨우겨우 request를 한번 날릴 수 있을까 생각했었다. 스프링 부트는 이런 어려운 설정을 자동으로 해준다. 부트가 이런 장점만 있는건 아니지만 가장 눈에 띄는 장점 중 하나 아닐까 생각된다. 오늘은 스프링 부트 기반 프로젝트를 실행하기 위해 필요한 SpringApplication라는 class를 살펴보았다. 먼저 SpringApplication Class를 이용해 실행하는 코드를 보자.12345678@SpringBootApplicationpublic c..
오늘 부터 시간이 나는대로 스프링 프레임워크에서 처리해주는 기능들이 어떻게 동작하는지 소스 리뷰를 하기 시작했다.@RequestBody와 @ResponseBody가 어떻게 동작하는지 궁금해서 spring-web 프로젝트를 조금 살펴보다가 HandlerMethodArgumentResolverComposite 클래스라는 놈을 만나게되었는데, Composite라는 패턴을 사용했다. 사실 Composite 패턴이라는걸 예전에 책을 통해 한번 본거 같은 기억이 나지만 잘 와닿지 않았는데 스프링 소스를 보니 이해가 잘된다. 먼저 Composite 패턴에 대해서 설명은 생략하겠다. 참고 Diagram HandlerMethodArgumentResolver는 Request 요청에 대한 파라미터 데이터에 대해 컨트롤 할 ..
현재 오픈소스로 개발 중인 설치형 블로그를 서버에 올려서 테스트하기 위해서 jenkins를 사용해 자동 배포 설정을 하고 외장 톰캣을 사용하려고 했는데 문제가 생겼다.현재 개발 중인 프로젝트는 spring boot를 사용하는데 boot 버전마다 기본 톰캣 버전이 다르다.기본적으로 boot는 내장 톰캣을 사용하는데, 서버에 올려서 사용할 때 외장 톰캣을 사용하기 위해서 톰캣7으로 테스트 했는데 위와 같은 에러가 발생했다.정확히 문제가 무엇이냐면 boot가 버전마다 내장 톰캣 버전이 다르기 때문에 발생하는 에러다.spring boot 1.2.4 이상 : 내장 톰캣8spring boot 1.2.4 이하 : 내장 톰캣7 로컬 환경에서 외장 톰캣7을 사용했을 경우 발생한 에러심각: ContainerBase.add..
Spring Data JPA란? Spring Project 중 하나다. Spring Data Project는 여러가지 Data Repository(JPA, mongoDB, Neo4j, Redis, Hadoop 등)를 지원한다. Data JPA는 JPA를 Spring에서 쉽게 사용하게 만든 프로젝트이다. EntityAbstractPersistable : PK Type에 Primary Key가 자동으로 셋팅된다. @Entity(name = "tbl_user") public class User extends AbstractPersistable { private String username; private String nickName; private String address; @Temporal(Temporal..
① Http 요청 Client에서 웹 애플리케이션에 요청을 하기 위해 Http 요청을 한다. 요청을 하기 위한 여러 메타 데이터(URL, 파라미터 정보, Http method, header, cookie 등)를 전달하면 HttpServletRequest라는 객체로 요청 메타 정보를 담는다. HttpServletRequest는 Http 요청 메타 데이터를 담는 객체다. ② Controller 선택 직접 작성한 Controller로 가장 먼저 요청을 받는 것 처럼 보이지만 실제 처음 요청 받는 부분은 DispatcherServlet에서 처리하게 된다. 즉 DispatcherServlet에서 컨트롤러로 Http 요청을 위임하는 것이다. HandlerMapping : DispatcherServlet에서 Cont..
토이 프로젝트를 진행하다가 spring boot로 개발한 restful API에 CORS 적용이 안되서 에러가 났다. WAS를 spring boot에 내장되어 있는 embedded tomcat을 사용했는데 이 내장 톰캣에 어떻게 CORS를 적용하나 찾아보니 금방나왔다. 설정으로 해결하지 않고 CORS Filter를 만들어서 사용한다. source @Component public class CORSFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, Serv..
[spring] spring boot-1(특징과 기본 설정) [spring] spring boot-2(프로젝트 구조와 Tomcat 연동 및 proerties사용) [spring] spring boot-3(JPA 설정과 사용) Velocity 설정1. pom.xml Velocity도 다른 설정과 마찬가지로 dependency만 추가 하면 모든 설정이 자동이다. org.springframework.boot spring-boot-starter-velocity 2. application.properties velocity를 사용할때 utf-8로 설정을 해야 한글이 깨지지 않는다.spring.velocity.charSet=UTF-8spring.velocity.properties.input.encoding=UTF-..
[spring] spring boot-1(특징과 기본 설정) [spring] spring boot-2(프로젝트 구조와 Tomcat 연동 및 proerties사용) [spring] spring boot-4(Velocity 설정과 사용) Spring Boot Data JPA 설정 JPA를 따로 설명하지 않겠다. 나도 사용한지 얼마되지 않았고 사실 잘 모른다. 간단하게 사용해본 정도이고 설정하고 간단하게 사용하는 방법만 포스팅 할 것이다. 1. pom.xml pom.xml에 spring-boot-stater-data-jpa를 추가한다. 예제를 mysql로 사용하기 위해 mysql-connector도 추가한다. org.springframework.boot spring-boot-starter-data-jpa my..
[spring] spring boot-1(특징과 기본 설정) [spring] spring boot-3(JPA 설정과 사용) [spring] spring boot-4(Velocity 설정과 사용) Spring Boot 프로젝트 구조 src > main > java : java class src > main > resources : view Template(templates 폴더), resource(static 폴더), properties 구현 src > test > java : test 코드 java class 처음 spring프로젝트 구조를 볼때가 생각난다. 지금은 어느정도 이해를 하고 있는 상태라 그런지 Spring Boot에 프로젝트 구조가 일반 프로젝트 구조보다 간단하고 느껴진다. 물론 프로젝트 마..
[spring] spring boot-2(프로젝트 구조와 Tomcat 연동 및 proerties사용) [spring] spring boot-3(JPA 설정과 사용) [spring] spring boot-4(Velocity 설정과 사용) Spring Boot 특징war파일을 사용하지 않고 embed tomcat 또는 jetty 사용가능Spring Boot에서 지원하는 stater POM으로 Maven을 간단하게 사용Spring에 수많은 설정을 자동으로 설정(xml설정이 필요 없음), autoconfigure Spring Boot 시작하기 1. pom.xml org.springframework.boot spring-boot-starter-parent 1.1.8.RELEASE org.springframewor..