반응형

web/Spring

    mac환경에서 spring boot에 lombok 설치하기

    Lombok 소개 lombok은 모두다 알다시피 getter, setter, construct등 계속해서 추가되어야하는 코드를 어노테이션을 이용하여 자동으로 생성해주는 기능을 제공하는 라이브러리이다. 설치홈페이지에 우선 jar 파일을 다운로드 받는다.https://projectlombok.org/download 다운받은 jar파일을 실행하면 자동으로 ide를 찾아서 설정해준다.설치를 완료하면 다음과 같이 ini에서 설치 여부를 확인할 수 있다.

    Spring, spring-boot의 mvc 다양한 설정 설명

    Spring에서 사용하는 다양한 설정이 존재한다. 그 설정들에 대한 정리가 필요할 것같아서 한번 정리해 보았다. ※ 스프링 MVC 사용을위한 설정- 기존에 스프링 MVC 설정을 위해서 xml 파일에 다음과 같이 설정하였다. 하지만 대부분의 설정이 xml에서 java로 변경하는 추세에서는 다음과 같이 설정한다.12345@Configuration@EnableWebMvcpublic class WebConfig { }cs여기서 추가적인 기본 설정들을 커서텀하고 싶을 경우 WebMvcConfigurerAdapter 추상클래스를 상속받아 재정의하여 사용했다.12345@Configuration@EnableWebMvcpublic class WebConfig extends WebMvcConfigurerAdapter { ..

    Spring framework에서 html을 pdf만들어 다운로드 하기

    업무적으로 html 코드를 이용하여 pdf 파일로 내보내기 위해서 자료수집을 많이했다. 하지만 결론부터 이야기하면 원하는대로 다 되지는 않았다. 밑에 이야기 하겠지만 html을 pdf로 만들어주는 라이브러리가 정확하게 html모든 태그를 파싱하지 못할뿐만 아니라, css적용도 정상적으로 되지 않았다. 그래도 다시해본 결과!!!!! ( 이 글 쓰고나서 더 조사해본 결과.. 포기하지 마시길 )=> html2pdf를 사용하면 거의 대부분의 css를 적용할 수있다. 1. pom.xml 설정 itextpdf -> pdf를 생성하기 위해 필요한 라이브러리 xmlworker -> xml 파싱을 위해 필요한 라이브러리 html2pdf -> itext의 7버전을 사용하기 위해 필요한 라이브러리 12345678910111..

    Spring boot에서 Spring security를 사용하여 로그인 하기

    스프링 부트를 공부하면서 스프링에서 제공하는 spring security를 통해 로그인 기능을 편리하게 구현할 수 있다는 것을 알았다. 기존에 회사에서는 interceptor 기능을 통해서 로그인 기능을 만들어서 사용했다. 둘다 좋은 방식이지만 spring security를 사용하면 csrf 공격도 막을 수 있어서 한번 사용해봐도 좋을 것 같다. 1. 라이브러리 pom.xml 1234 org.springframework.boot spring-boot-starter-securityColored by Color Scriptercs 2. SpringSecurityAdaptor -> 스프링 시큐리티에 필요한 내용을 정의하는 configuration을 생성해야한다. -> WebSecurityConfigurerAd..

    spring boot에 https 접속 적용하기

    구글에서 http에 대한 모든 접속을 보안 경고를 표시하게 되면서, 모든 접속에 https 접속이 필수가 되었다. 스프링 부트를 접해보면서 스프링에서는 조금 과정이 귀찮았던 https 접속을 적용하는게 얼마나 편해졌는지 알아보았다. 1. application.properties 설정 #ssl 설정 server.port=13443 server.ssl.key-store=classpath:keystore.jks server.ssl.key-store-password=test server.ssl.key-password=test 2. keystore 만들기 -> ssl을 적용하려면 자가 서명 키스토어가 필요하다. 만약 인증기관에서 인증서를 발급받은 경우 그냥 그 파일을 사용하면 된다. 위의 명령어를 사용하여 src..

    Spring에서 url 요청하는 RestTemplate 설명

    Spring 기반 프로젝트 진행 시 URL을 요청할 때가 있다. 이를 Apache의 HttpClient 라이브로리를 사용하여 할 수 있지만, 스프링 프로젝트에서는 SpringTemplate를 사용하여 쉽게 요청할 수 있다. (httpClient와 RestTemplate의 차이는 하단의 링크참조) 사용법은 아주 간단하다. 각 요청 Method 마다 하단의 메소드를 이용하여 호출하기만 하면된다. 1. Get 12345RestTemplate restTemplate = new RestTemplate();String fooResourceUrl = "http://localhost:8080/spring-rest/foos";ResponseEntity response = restTemplate.getForEntity(f..

    spring boot에서 jsp사용하기

    spring framework만 사용하다가 요근래 대다수에 회사에서 spring-boot를 사용하는 것을 확인하고 spring-boot에 대해 공부를 해보았다. 확실히 spring-boot를 사용하면 설정이 엄청 간단해서 개발자가 설정에 집중하는게 아니라 비즈니스 로직에만 딱 고민할 수 있도록 되어있어서 진짜 편한것 같다. 그래서 기존에 내가 하고 있는 wedulpos 프로젝트를 spring-boot로 마이그레이션 하는 작업을 거쳤는데 그 사이에 어려운 부분이 있었다. 스프링에서는 jsp를 사용하는 것이 어렵지 않았으나, 기본적으로 spring-boot에서는 jsp 사용이 기본이 아니다. 그래서 설정을 위해서는 몇가지 변경을 해주어야한다. 1. pom설정 - jstl 사용을 위한 라이브러리 추가 1234..

    spring boot 재시작 없이 frontend(html, js..) 변경내용 사용하기

    spring boot를 공부하면서 html요소가 자동으로 변경되지 않아서.. 계속 껏다켜야해서 너무 불편했다. 그래서 구글링 하던중 방법을 알게되어 적어본다. 1. pom.xml 추가 12345 org.springframework.boot spring-boot-devtools trueColored by Color Scriptercs 2. debug 모드로 실행 3. eclipse 설정 중 Build Automatically 설정 여부 확인 (기본으로 사용으로 설정되어 있음)

    Tomcat에서 war 사이에 session 공유

    회사 프로젝트에서 같은 톰캣 컨테이너를 사용하는 war 애플리케이션 사이에 session을 공유해야 하는 경우가 있었다. 한참을 구글링하던 도중에 사용방법에 대해 알게 되었고, 나중에 사용하기 위해서 정리해보았다. [설정방법] 1. context.xml 수정 -> 각 war에 위치한 context.xml에 crossContext와 rootPath를 적어준다. 1234 WEB-INF/web.xmlcs 2. tomcat의 server.xml의 Connector에 emptySessionPath 속성을 추가한다.1cs 3. 공유할 세션의 속성 지정12// wedulPos war의 세션 속성 설정request.getSession().getServletContext().setAttribute("id", userId..

    Spring Interceptor와 Filter에서 POST 방식으로 전달된 JSON 데이터 처리하기

    이번 회사 프로젝트에서 진행할 때 parameter값이 아니라 Josn 데이터가 필요할 때가 있었다. 이를 위해서는 HttpServletRequest에서 InputStream으로 데이터를 추출해야한다. 하지만 HttpServletRequest에서 InputStream을 한번 추출하게되면, Controller에서 parameter를 매핑하려고 데이터를 바인딩할 때 다음과 같은 오류가 발생한다. 이는 톰캣에서 막아놓았기 때문이다. [에러내용] 12java.lang.IllegalStateException: getReader() has already been called for this requestorg.springframework.http.converter.HttpMessageNotReadableExcept..

반응형