본문 바로가기

Develop/Spring47

[Spring] Spring 에서 로그 남기기 하이~~!! 저번 포스팅에서 우리는 AOP라는 녀석을 스프링 환경에서 사용하는 걸 공부했었다. https://devkingdom.tistory.com/115 [Spring] Spring AOP 이용하기 하이 ~~!! 여러분 !! 오늘은 Spring 에서 아주 중요한 개념인 AOP (Aspect Oriented Programming) 에 대해 이야기 해보려한다. 딱봐도 쉽게 설명을 해줄꺼고 , 구현도 간단하게 해볼꺼다. AOP AOP는 비지니스 로직.. devkingdom.tistory.com 그때 내가 AOP를 이용해서 로깅시스템도 분리해서 모듈화 한다고 하고 그랬다. 오늘은 조금 더 구체적으로 로그남기는 것 관련해서 얘기를 조금 해보도록 하겠다. Spring 에서는 다양하게 로그를 남기는 프레임워크를 .. 2020. 4. 5.
[Spring] Spring AOP 이용하기 하이 ~~!! 여러분 !! 오늘은 Spring 에서 아주 중요한 개념인 AOP (Aspect Oriented Programming) 에 대해 이야기 해보려한다. 딱봐도 쉽게 설명을 해줄꺼고 , 구현도 간단하게 해볼꺼다. AOP AOP는 비지니스 로직 등의 핵심 기능 (Core Concerns) 들과 로깅, 보안 , 트랜잭션 처리 등 핵심 기능을 도와주는 부가기능 (Cross-cutting Concerns) 으로 분리해서 모듈화 하는 것을 의미한다. 간단한 게시판이 있다고 가정해보자. 게시글을 읽고 쓰고, 답글을 읽고 쓰고, 회원가입하고 로그인하는 그런 아주 일반적인 어플리케이션이다. 그런데 이렇게 어플리케이션을 개발하다보면 로그도 남겨야하고 , 보안적인 이슈도 처리하는 등의 공통적인 부가기능들이 생겨나게.. 2020. 4. 5.
[Spring] JUnit을 활용한 스프링 메서드 모듈 테스트하기 하이 ...!! 여러분 !! 스프링은 TDD (Test Driven Development) 기반의 개발을 할 수 있도록 스프링 프로젝트를 만들때 알아서 테스트 환경을 세팅해준다. 우리는 거기다 코드를 작성해서 테스트를 하면된다. 우리는 지난 포스팅들에서 작성했던 CRUD 프로젝트에서 JUnit을 활용하여 단위테스트를 해볼꺼다. JUnit? JUnit은 말그대로 독립된 단위 테스트를 지원해주는 Java의 프레임워크이다. 단위테스트는 소스코드의 특정한 모듈이 내가 의도한 대로 올바르게 동작하는지 검증하는 것을 의미한다. 만약 여러분들이 단위테스트를 잘 작성하면 더 나은 코드를 작성할 수 있고 이는 비용 감소로 이어질테니 잘 작성해서 활용해보길 바란다. 회사에서 일을 하다보면 테스트가 굉장히 귀찮게 여겨지고 .. 2020. 3. 29.
[Spring] JWT 를 활용한 인증 구현 하이 ~~~ 여러분들 이전 포스팅에서 제가 Spring 에서 CRUD를 구현했었다. 이렇게 서비스를 제공하는 것도 중요하지만, 이러한 웹서비스에서는 인증을 어떻게 구현하느냐도 중요하다. 스프링에서는 Spring Security라는 아주 강력한 보안관련 프레임워크를 제공한다. 우리는 오늘 Spring Security중에서 JWT라는 놈을 이용해서 인증서비스를 구현해볼 것이다. youtu.be/TlWzEr4cXfc 오늘 글이 ... 도움되신 분들은 !! 구독과 좋아요도 많이들 부탁드린다 :) 세션 방식과 토큰 방식 과거에는 우린 서버 (세션) 기반의 인증시스템을 활용해왔다. (지금도 이러한 기반의 시스템은 아직 많다 !) 세션 기반의 인증 시스템은 유저가 인증할 때 이 기록을 서버에 저장하고 어떤 서비스를 .. 2020. 3. 28.
[Spring] Spring 프로젝트 개선하기 - 인터페이스/클래스 분리 하이 ~~ !!! 지난 포스팅에서 REST 에서 CRUD 를 구현해봤다. 오늘은 실무에서 자주 볼 수 있는 형태의 패턴을 공개할거다. ㅎㅎ 먼저 혹시 CRUD 구현 안해본사람은 아래링크 보고 따라 개발해보고 오자. https://devkingdom.tistory.com/110 [Spring] REST에서 CRUD 구현하기 하이 ㅎㅎㅎ 요즘 날씨 진짜 진짜 좋다 ~~!! ㅎㅎ 오늘은 그 동안 갈고 닦은 기본기(?) 를 바탕으로 CRUD를 정석대로 구현해볼꺼다. 다들 잘 따라해보고, 나중에 Spring으로 API 만들거나 웹서비스 만들 때 잘 사.. devkingdom.tistory.com 위의 링크에서 보면 UserService나 UserDao에 로직을 다 구현해 놓았다. 하지만 이를 인터페이스와 서비스로.. 2020. 3. 25.
[Spring] REST에서 CRUD 구현하기 하이 ㅎㅎㅎ 요즘 날씨 진짜 진짜 좋다 ~~!! ㅎㅎ 오늘은 그 동안 갈고 닦은 기본기(?) 를 바탕으로 CRUD를 정석대로 구현해볼꺼다. 다들 잘 따라해보고, 나중에 Spring으로 API 만들거나 웹서비스 만들 때 잘 사용하자. 아 !! 만약에 혹시라도 본인이 기본기(?)가 안된다 싶다!! 아래 링크가서 보고오자. Spring MVC로 RESTFul 서비스 개발하기(1) https://devkingdom.tistory.com/108 [Spring] Spring MVC 로 RESTFul 서비스 개발하기 (1) 하이 ~~ 요즘 날씨가 거의 봄이다 봄 ㅎㅎ 어디 놀러나가고 싶지만 ... 코로나때문에 나가지도 못하고 ㅜㅡㅜ 봄 날씨인 만큼 Spring(?) 공부나 같이 열심히 하자. 지난번에 내가 Sprin.. 2020. 3. 23.
[Spring] Spring MVC 로 RESTFul 서비스 개발하기 (2) 하이 ~~ 지난 포스팅에서 Spring 작업환경을 세팅하고, Controller에서 url 을 받아서 처리하는걸 포스팅했었다. 지난 포스팅 링크 ▽ Spring Boot 개발 환경 세팅 https://devkingdom.tistory.com/103 [Spring] Spring Boot 환경 설정 하이 ~~ 오늘은 Spring Boot 환경 설정을 할거다. 자세히 말하면 스프링 부트 2.0 이다. 스프링 5.0 (스프링부트 2.0) 사용하기 위해서는 JDK 8 이상의 버전이 필요하다. 참고로 스프링 4.0은 JDK 6이상이다. 먼저.. devkingdom.tistory.com Spring MVC 로 RESTFul 서비스 개발하기 (1) https://devkingdom.tistory.com/108 [Spr.. 2020. 3. 22.
[Spring] Spring MVC 로 RESTFul 서비스 개발하기 (1) 하이 ~~ 요즘 날씨가 거의 봄이다 봄 ㅎㅎ 어디 놀러나가고 싶지만 ... 코로나때문에 나가지도 못하고 ㅜㅡㅜ 봄 날씨인 만큼 Spring(?) 공부나 같이 열심히 하자. 지난번에 내가 Spring Boot 환경 설정을 하고, 간단한 프로젝트 하나를 실행시켰었다. 다들 기억하죠? 기억안나는 사람 손 !! 아래링크로 가서 다시 한번 쭉 보고 오자. https://devkingdom.tistory.com/103 [Spring] Spring Boot 환경 설정 하이 ~~ 오늘은 Spring Boot 환경 설정을 할거다. 자세히 말하면 스프링 부트 2.0 이다. 스프링 5.0 (스프링부트 2.0) 사용하기 위해서는 JDK 8 이상의 버전이 필요하다. 참고로 스프링 4.0은 JDK 6이상이다. 먼저.. devki.. 2020. 3. 21.
[Spring] RESTFul 기반의 웹 서비스 하이 ~~ ㅎㅎㅎ 시간이 지날 수록 점점 코로나가 심각해 진다 ㅜ_ㅜ 다들 건강 잘챙기셨으면 좋겠다. 오늘은 RESTful 기반의 웹서비스에 대한 이론적인 포스팅을 좀 해볼거다. RESTful 서비스의 시작 RESTful 은 하나의 규약이다. 완벽한 표준은 아니지만 거의 사실상 표준이라 봐도 무방할듯 하다. 아래의 그림을 보자 RESTFul 웹서비스는 보통 이 그림대로 흘러간다. POST 방식으로 예를 들어보겠다. 간단한 회원 가입을 위한 서비스를 날린다고 생각해보자. v1/user/userid라는 url 에 JSON 데이터에 회원가입을 위한 데이터를 채워서 서버로 보낸다. 그러면 서버는 해당 날라온 JSON 정보를 Entity 형태로 DB에 insert해준다. 그러고 나면 성공했다는 결과를 또 JSON.. 2020. 3. 15.