스프링
-
Spring - Google Login API 연동 (No Library)IT, 프로그래밍/Spring 2020. 9. 14. 22:43
2년전 제가 쓴 글인 스프링 Google Login 연동 포스팅이 그동안 많은 관심을 받았습니다. 검색해보니 구글 검색에 상단에도 노출이 되더군요. 댓글로도 많은 의견을 주셨는데, 그 중 라이브러리가 제대로 동작하지 않는다는 의견이 많았습니다. 그래서 이번에는 라이브러리 없이 오직 구글에서 제공하는 OAuth API를 통해 구글 로그인, 사용자 정보를 가져오는 기능을 구현해 보겠습니다. 만약 OAuth의 개념이 아직 익숙하지 않으신 분들은 제가 작성한 OAuth 포스팅을 먼저 보시면 많은 도움이 되실겁니다. OAuth 프로토콜의 이해와 활용 1 - 필요성과 역사 WWW(World Wide Web)가 세상에 나온 지도 거의 30년이 되었고, 그동안 세상은 눈부시게 발전했습니다. 전화선을 꽂아 쓰던 PC통신..
-
젠킨스 - Git 스프링 프로젝트 배포시 별도 설정파일로 키값 숨기기IT, 프로그래밍/Jenkins 2018. 10. 5. 16:00
보통 프로젝트를 진행하면 DB 커넥션에 관한 계정에 대한 정보와 API키 등을 설정파일에 적어두어 연결 시 사용합니다. 문제는 Git의 원격 저장소에 push되어 소스가 올라갈 때 이런 중요한 설정 정보들도 그대로 올라간다는 점인데요. 만약 이를 방지하기 위해 .gitignore로 설정하면, 원격 저장소로 푸쉬될 때 파일 자체가 올라가지 않아 젠킨스로 배포시 문제가 생기게 됩니다. 이 문제를 해결하기 위해 로컬 pc에 설정파일을 저장한 후에, 이 파일에서 중요한 정보들을 가져오는 방식을 사용 하겠습니다. (이 방법도 사실 파일 경로가 올라가야해서 적합한 방식이라고는 할 수는 없습니다.) 1. 우선 로컬환경에 적합한 경로를 골라 파일명.properties 파일을 생성해 줍니다. 2. 파일에 매핑할 요소를 ..
-
스프링 restTemplate + JAXB + 공공데이터 API로 공휴일 정보 받기IT, 프로그래밍/Spring 2018. 10. 3. 18:14
서비스를 만들다보면 평일과 휴일로 나누어 정보를 제공해야 하는 경우가 있습니다. 예를 들면 운영시간표가 주말과 평일이 다르거나 하는 경우에 나눠 줄 필요가 있는데, 주말 같은 경우는 Java에서 제공해 주는 Date 관련 클래스로 간단하게 처리를 하면 되지만 공휴일 같은 경우는 제공해 주지 않습니다. 한국에 있는 공휴일은 현재 공공데이터 API를 통해서 받아볼 수 있으니 활용 해 봅시다. https://www.data.go.kr/dataset/15012690/openapi.do 만약 안나오시는 분들은 공공데이터 api 페이지로 가셔서 '특일 정보'라고 검색하시면 나옵니다. 가운데 보시면 상세기능이 있습니다. 여기서 공휴일 정보를 클릭 해 줍시다 여기에 보시면 활용신청이 있는데요. 공공데이터 api 서비스..
-
redirect시 parameter 전달IT, 프로그래밍/Spring 2018. 9. 6. 13:06
Home Controller에서 Board Controller로 파라미터값 리다이렉트 GET으로 pageNum값 전달 12345678@RequestMapping(value = "/", method = RequestMethod.GET) public String home(RedirectAttributes redirect) { redirect.addAttribute("pageNum", 1); return "redirect:/board/getBoardMain"; } Colored by Color Scriptercs RedirectAttributes 통해서 전달 가능. 받는쪽은 RequestParam으로 매핑하면 됨 123456789 @RequestMapping(value="/getBoardMain", metho..
-
스프링 환경에서 자바 7이하에서 8로 업그레이드 시 유의할 점IT, 프로그래밍/Spring 2018. 9. 3. 17:51
1. 이클립스 버전을 케플러 이상으로 업그레이드2. 스프링 버전을 3.2.9 혹은 4 이상으로 업그레이드 할 것.만약 안하면 org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet 이런 끔찍한 에러가 발생한다. 출처 : https://stackoverflow.com/questions/22526695/java-1-8-asm-classreader-failed-to-parse-class-file-probably-due-to-a-new-java http://www.gm0604.kr/w..
-
AWS EC2에 스프링 프로젝트 배포하기 (FileZilla 사용)IT, 프로그래밍/AWS 2018. 8. 22. 19:51
이번 포스팅은 아마존 웹 서비스 중 EC2를 사용하여 스프링 프로젝트를 배포하는 방법에 관한 내용입니다. 운영 환경 : 우분투 16.04, tomcat8원격 접속 : putty FTP 파일 전송 : FileZilla 기본적으로 위에 있는 환경이 구축되어 있다고 가정하고 시작하겠습니다. 먼저 이클립스를 통해 war 파일을 export 해 줍니다. 이제 파일질라를 EC2 인스턴스에 연결하고, /var/lib/tomcat8/webapps 폴더 밑에 war 파일을 전송시킵니다. 만약 파일전송이 안되시는 분들은, 권한 문제일 가능성이 높습니다.webapps 폴더의 소유자를 tomcat8로, 모든 작업이 가능하도록 권한을 설정 해 줍니다. 1234~$ sudo su# chmod -R 777 /var/lib/tomc..
-
Mybatis 동적 쿼리 사용 중 Parameter를 String으로 넘길때 발생하는 문제IT, 프로그래밍/Spring 2018. 8. 19. 18:12
Mybatis를 사용하다 보면 이런 에러를 자주 볼 수 있다. ReflectionException: There is no getter for property named 'key' in 'class java.lang.String'... 이 에러는 ParameterType을 String으로 설정할 때 주로 생기는 오류이다. ( 파라미터에 오타가 있을 경우에도 발생한다. 대소문자 구분 필수 ) 동적 쿼리 if문은 Parameter Type 클래스의 getter를 호출하는 방식으로 값을 전달받는데, String의 경우 getter가 정의되어 있지 않다. 그러므로 당연히 getter를 찾지 못한다고 빼액 거리는 것. 이것은 Long이나 Interger 타입으로 값을 넘기는 경우도 마찬가지다. 이 문제를 해결하는 ..