Spring Boot.

스프링 부트(Spring Boot)

  • 공식 홈 - https://spring.io/projects/spring-boot
  • 스프링 기반으로 상용제품 수준의 단독 실행형 애플리케이션을 복잡한 과정없이 개발할 수 있도록 하는 것

History


기능

  • 단독실행가능한 스프링어플리케이션 생성
  • 기본 설정된 스타터 컴포넌트
  • 내장형 WAS(톰캣, 제티, 언더토우)
  • AutoConfiguration 으로 기본 설정이 제공
  • 상용화에 필요한 통계, 상태 점검 및 외부설정을 제공
  • XML 코드를 생성하거나 요구하지 않음


특징

  • Spring CoC(Convention-over-Configuration) Version (Wikipedia)
  • 최적의 Dependency(라이브러리, 버전) 관리
  • 관례에 따른 기본 Bean 설정(@Configuration)을 미리 제공
  • 상용화를 위한 기능(Actuator 등)
  • Micro Service(Application With Single Responsbility) 구현에 최적화
  • 보안, 모니터링 구현을 프레임워크 레벨에서 지원


Leave a Comment


File 주소 기반



ClassPath 기반


Leave a Comment

다국 언어 선택할 때 많이 사용하는 스프링 메시지이다.

세션을 많이 사용하겠지만 쿠키 형태로 정보를 저장할 때의 설정이다.

필요한 정보만 간단히 모아보았다.

언어 변경은 LocaleChangeInterceptor을 통해서 할 수 있게 설정했다.


applicationContext.xml


servlet-context.xml


message.jsp


Leave a Comment

Spring에서 webjars 적용하는 방법

Maven Repository나 다른 곳에서 webjars를 검색한다.

pom.xml에 추가한다.


pom.xml



servlet-context에 주소를 매핑한다.


servlet-context.xml


Java configuration을 사용할 경우에는 아래와 같이 설정한다.


WebConfig.java



JSP에서 호출한다.

Example1)

http://localhost/webjars/jquery/3.1.1-1/jquery.min.js

http://localhost/webjars/jqgrid/4.7.0/css/ui.jqgrid.css


Example2)




Reference

[1] [블로그개발_06] webjars를 이용한 bootstrap, jquery 적용해보기 (Spring Boot) (http://millky.com/@origoni/post/1147?language=ko_kr)

[2] 허니몬의 자바 | webjars란 무엇인가? (http://java.ihoney.pe.kr/428)


Leave a Comment

SpringSecurity를 설정하다보니 Method레벨(global-method-security)에서의 AccessDeniedException은 그 전에 설정해놓은 <access-denied-handler>에 걸리지 않는 것을 알게 되었다.


왜 그런가 찾다보니 스택오버플로우[1]에서 답을 찾았는데

내 상황이 답을 준것처럼 처리하기에는 정확히 맞지 않는 상황이었다.


- StackOverFlow 번역 -

access-denied-handler는 AccessDeniedException가 발생할 때 ExceptionTranslationFilter에 의해 사용됩니다.

그러나 org.springframework.web.servlet.DispatcherServlet은 먼저 예외 처리를 시도했다.

특히 defaultErrorView로 정의 된 org.springframework.web.servlet.handler.SimpleMappingExceptionResolver가 있는데, 결과적으로 SimpleMappingExceptionResolver는 적절한 뷰로 리디렉션하여 예외를 소비하므로 결과적으로 ExceptionTranslationFilter에 버블링 될 예외가 없습니다.


수정은 간단했다. 모든 AccessDeniedException을 무시하도록 SimpleMappingExceptionResolver를 구성하십시오.


applicationContext.xml


이제는 AccessDeniedException이 발생할 때마다 SimpleMappingExceptionResolver를 무시하고 ExceptionTranslationFilter를 통해 예외 처리를 하게 됩니다.



- 내 해결 방식 -

내 프로젝트에서는 위와 같이 설정하기 난해한 부분이 있어서 중복이여서 아쉽지만 web.xml에 이동 페이지를 설정하게 해주었다.


web.xml



Reference

[1] Spring Security ignoring access-denied-handler with Method Level Security (http://stackoverflow.com/questions/21171882/spring-security-ignoring-access-denied-handler-with-method-level-security)



Leave a Comment


to Top