백엔드
-
[Spring] RestTemplate을 편리하게 사용하자 (샘플 포함)백엔드/Spring 2022. 6. 12. 19:19
🚀 들어가면서 RestTemplate을 구체화하면서, 편리하게 사용할 수 있도록 만들어보고 싶었다. 통신 사이에 AOP를 구현하여, 요청과 응답의 URI, Body, Param, Header를 로깅하는 기능을 할까 하였지만.. RestTemplate에 인터셉터를 추가할 수 있는 함수가 있어서 적절히 사용했다. ⚙️ 소스코드 HttpHeader.java HttpHeader이다. 가변적으로 추가하기 편하게 만들었다. build() 함수를 통해서 호환이 가능한 Apache의 HttpHeaders로 변환이 가능하다. @NoArgsConstructor @AllArgsConstructor public class HttpHeader { private MediaType mediaType; private Map keyV..
-
[Spring] Mybatis, JPA, ORM에 대해서 간단하게 알아보자백엔드/Spring 2022. 5. 21. 00:07
[Spring] Mybatis, JPA, ORM에 대해서 간단하게 알아보자 API 개발을 하기 위해서는, 데이터베이스를 기동하여 질의문을 동작시켜야 합니다. 이를 위해서는 반드시 질의문을 돌릴 수 있는 “Mybatis”와 “JPA”를 학습해야 합니다. Mybatis와 JPA, ORM을 모르는 분들을 위해서 정리하였습니다. 1. Mybatis Mybatis 템플릿 - https://github.com/rojae/mybatis-demo Mybatis JSP 게시판 예제 : https://github.com/rojae/SpringBoot-BBS-demo XML 파일에서 Query를 직접 작성하여, 추출되는 결과를 XML 문법을 통해서 자바 Class 파일로 변환합니다. 마이바티스는 아래와 같은 모습을 가집니다..
-
[Spring] AOP 기능을 사용해서, 어노테이션으로 로그를 남기자 (annotation logging)백엔드/Spring 2022. 4. 30. 23:55
공통된 기능을 개발할 수 있도록, 설계된 Spring의 AOP를 활용하면 메소드에 공통 기능을 삽입할 수 있다. 이를 적절하게 사용해서, 메소드에 logging 기능을 넣어보자 Annotation 생성 AOP 설정파일을 추가하자 로깅 기능을 직접 사용하자 후기 소스코드 이미지를 클릭하면, 소스코드 연결이 가능합니다. 1. Annotation 생성 (로그 유발, 로그 제외) 2. AOP 설정파일을 추가하자 @Around를 사용하여, kr.imcf.mybatis.** 패키지에 존재하는 소스에 AOP 설정이 가능하다. // kr.imcf.mybatis 패키지 내부 && @LogExclusion이 없고 && @LogInclusion이 있는 경우 @Around("within(kr.imcf.mybatis..*) &..
-
[Shell] Alias를 등록하자 (Bash)백엔드/Shell 2022. 1. 19. 01:12
사용 쉘 : Bash 목표 : Alias 등록을 하여 명령어 자동 수행 Tree 명령어 아래 명령어는 tree 명령어와 같은 역할을 수행한다 find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' Alias 등록 bash_profile을 편집 상태로 열어주자 vi ~/.bash_profile //현재 사용자만 적용 vi /bashrc //전체 사용자 적용 아래 명령어를 등록한다. (Alias : tree) alias tree=“find . -print | sed -e ’s;[^/]*/;|____;g;s;____|; |;g’” 끝인것 같지만, 적용을 해줘야 한다. source ~/.bash_profile Mac OS의 경우 Mac OS는 기본 쉘이 zsh이다. (..
-
[Spring] Servlet 응답, 요청 객체를 얻는 방법 (HttpServletRequest, HttpServletResponse)백엔드/Spring 2021. 11. 4. 13:24
보통 스프링에서, controller의 파리미터로 선언을 하면 서블릿 요청, 응답 객체를 가져올 수 있다. 하지만, controller의 파리미터가 아니라면 어떻게 할까? 1. 메소드 내부에서 사용 (>= Spring 2.0 required) HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()) .getRequest(); 2. 메소드 외부에서 사용 (supported by >= 2.5, Spring 3.0 for singelton beans required!) @Autowired private HttpServletRequest request; 3. 나아가 아래와 같이 사용할 수도..
-
Spring Security에서 Ajax 권한 검사하는 법백엔드/Spring 2021. 10. 30. 04:44
Spring Security에서 프론트에서 비동기 통신으로 JQuery Ajax 사용하는 경우 권한 체크 시에, 약간 애매하다. 예를 들면 비동기 요청을 하였는데, 세션이 만료된 경우 알림창을 보여주고, 로그인 페이지로 이동해야지 무턱대고 로그인 페이지로 이동할 수는 없다. 결론적으로는 아래의 순서도 대로 되어야한다. Spring Security - Ajax 인증검사 이를 추가 개발하기 위해서는 몇 가지 추가로 개발이 필요하다. Spring Security 추가 설정. AjaxAuthenticationEntryPoint 클래스 작성 Ajax 서버 응답 오류 시, 세션 오류 (만료) 알림창 세션 오류 만료 알림창 기능 (옵션) Spring Security 설정 아래 설정을 추가하여, 인증되지 않은 요청은 ..
-
[IntelliJ] Live Template을 사용해서, 자동완성 기능을 만들자백엔드 2021. 7. 20. 00:12
(해당 글은 R.LOG에서 가져온 글입니다 :: https://rlog.or.kr/post/84) 🚀 IntelliJ > Live Template IntelliJ > Perference >Live Template에 추가를 할겁니다. - custom 폴더 구분 생성 (기본 템플릿과 구분) - abbreviation : 빠른 완성을 위한 키워드 📑 템플릿 예제 아래는 제가 사용하는 템플릿입니다. custom 내부에 추가하면 됩니다. Live Template 추가 classRemark /** *@fileName:$file_name$ *@author: rojae *@date:$DATE$ $TIME$ *@description:$END$ *==========================================..