본문 바로가기
반응형

Spring17

네이버 클라우드 플랫폼에서 pinpoint 사용하여 스프링부트(Spring Boot) 서버 모니터링하기, Pinpoint Cloud Pinpoint란? · Java로 작성된 대규모 분산 시스템용 APM 도구 - APM: · Application Performance Management의 약자, 응용 소프트웨어의 성능과 서비스 가용성을 모니터링, 관리하는 도구 · Transaction 추적을 제공 · 임계치를 설정하여, Event 발생시 SMS 또는 Email을 통해 알림을 받을 수 있다. · 우아한형제들, 네이버, NHN 등에서 사용중 Pinpoint 사용하기 네이버 클라우드 플랫폼 콘솔로 들어가서 Product&Services 탭을 클릭하고, 하단으로 내려가면 Management - Pinpoint Cloud를 확인할 수 있다. 이것을 클릭한다. 이동한 화면에서 'Repository 생성' 버튼을 클릭한다. 다음과 같이 Reposi.. 2021. 11. 24.
[Spring] 스프링에서 AOP를 구현하는 방법 AOP를 구현하는 방법은 여러 가지 있지만, 스프링에서는 프락시(proxy)를 이용한다. 스프링에서 AOP를 구현하는 방법 · 프락시를 이용한 AOP는 아래 그림처럼 인터페이스를 구현한 프락시를 이용해서 Q 클래스가 호출한 메서드를 가로채서 어드바이스를 동작시킨다. · Q 클래스에는 R 인터페이스 타입의 인스턴스 변수가 있고, 인터페이스 R을 구현한 RImpl 클래스를 DI를 활용하여 이용한다. 이때, RImpl 클래스의 어느 메서드를 실행해도 어드바이스가 동작하게 설정됐다고 가정한다. - 스프링이라면 @Autowired 어노테이션이 붙는다. · DIxAOP 컨테이너는 R 인터페이스를 구현한 프락시 클래스의 인스턴스를 자동으로 생성, Q 클래스의 R 인터페이스 변수에 인젝션한다. - Q 클래스는 R 인터.. 2021. 11. 10.
[Spring Boot] 스프링 MVC 인터셉터란? 스프링 부트에서 사용하기 학습 목표 · 인터셉터란? · 의존성 추가 · 스프링 부트에서 인터셉터 사용하기 인터셉터란? · Spring Interceptor는 클라이언트 요청을 가로채서 처리하는 데 사용된다. · 스프링에서 요청이 컨트롤러로 전송되면 컨트롤러에서 처기되기 전, 컨트롤러에서 응답을 받은 후에 클라이언트에 응답을 보내기 전, 응답 완료 후(뷰가 렌더링 된 후)에 Interceptor를 통과한다. · 로깅 및 권한 인증 확인 등 반복적인 처리 코드를 피하는 데 도움을 줄 수 있다. 인터셉터는 org.springframework.web.servlet.HandlerInterceptor 인터페이스를 구현하거나, org.springframework.web.servlet.handler.HandlerInterceptorAdapte.. 2021. 11. 4.
스프링 부트 AutoConfigure가 작동하는 원리 스프링 부트 AutoConfigure는 클래스 경로에 있는 의존성을 기반으로 스프링 애플리케이션을 자동으로 구성한다. 스프링 부트는 클래스 경로에서 클래스를 감지하고, AutoConfigure 매커니즘은 필요한 빈을 생성하고 연결한다. 이것은 스프링 부트의 가장 강력한 기능 중 하나이고, 대부분의 작업은 백그라운드에서 자동으로 발생한다. Auto-Configuration Report 스프링 부트의 application.properties 파일에서 debug=true를 설정하면, 스프링 부트 애플리케이션에 대한 Auto-Configureation Report를 활성화할 수 있다. 그리고 애플리케이션을 실행하면, 다음과 같은 출력을 확인할 수 있다. ============================ CON.. 2021. 10. 26.
스프링에서 버전을 일관성있게 다루는 방법: BOM Maven POM · Maven에서 종속성을 가져오고 프로젝트를 빌드하는 데 사용하는 정보 및 설정을 포함하는 XML 파일 Maven BOM · Bill Of Materials(자재 명세서)의 약자 · 프로젝트 종속성의 버전을 제어하고, 해당 버전을 정의하며, 업데이트하는 중앙 위치를 제공하는 데 사용되는 특별한 종류의 POM - BOM은 의존해야 하는 버전에 대한 걱정없이, 모듈에 의존성을 추가할 수 있는 유연성을 제공함 Transitive Dependencies(전이 의존성) Maven은 pom.xml에서 자체 의존성에 필요한 라이브러리를 발견하고, 자동으로 포함할 수 있다. 또한 라이브러리가 수집되는 의존성 수준의 개수는 제한이 없다. 이때, 2개의 의존성이 특정 아티팩트의 다른 버전을 참조할 때 .. 2021. 10. 26.
[Java] @value 어노테이션을 통해 의존성 주입시 주의사항 @Value 어노테이션을 통해 클래스 필드에 의존성 주입을 할 경우 객체가 생성되고 난 후 주입된다. 즉, 객체 생성자가 실행되는 시점에선 @Value 값이 null이 되므로 주의해야한다. 대안으로 @Value 로 주입받은 값을 사용할 메소드를 따로 생성하고, @PostConstruct 어노테이션을 표시하여 사용할 수 있다. @Component("simgRealtimeInsurance") public class SimgRealtimeInsurance { @Value("${SIMG_SERVER_URL}") private String SERVER; private String URL_DRVING_INFO_SEND; private String URL_DRVING_INFO_BATCH_SEND; @Resource(.. 2021. 8. 30.
반응형