웹 개발/Spring Framework
-
[Spring Boot, Gradle] gradle dependency 전체 삭제하는 법(gradle build 에러 해결 방법)웹 개발/Spring Framework 2019. 3. 8. 21:47
먼저 gradle 폴더가 어디있는지 보자. 1. 터미널로 접속하고 아래 경로와 명령어를 순서대로 입력해본다. cd $Homels -al그리고 .gradle 폴더가 있는지 확인해본다. 2. .gradle 폴더로 이동하고 caches 폴더가 있는지 본다. 그리고 찾았다면 아래의 명령어 입력 cd .gradlerm -rf caches그럼 caches 폴더와 하위 파일이 삭제된다. 3. 새로운 dependency가 들어올 수 있도록 새로운 폴더를 만든다. mkdir caches 4. 인텔리J를 켜서 Gradle refresh를 해주면 새로 dependency를 다운받는다.
-
[Spring, jQuery] Controller에서 객체(Object)로 파라미터 받기웹 개발/Spring Framework 2019. 2. 24. 13:35
controller에서 객체로 받기.md Controller에서 객체로 파라미터 받기 @RequestParam이나 @ModelAttribute를 통해 파라미터를 Map, String, int로 이루어진 변수를 받고 있다가, 객체로 받으면 개발하면서 더 가시적이지 않을까라는 생각에 객체로 파라미터를 받는 법을 찾아보았다. 기존에 쓰던 방식. $.ajax({ type: "GET", url: "", dataType: 'json', data: {"idx": idx, "factoryName": factoryName, "ownerName": ownerName, "location": location}, success: function(data){ // success } }) @ReqeustMapping(value="..
-
[Spring] context:component-scan 사용법 정리웹 개발/Spring Framework 2019. 2. 15. 23:58
component-scan 사용법 정리.md context:component-scan 사용법 @Controller, @Service, @Repository, @Component 등의 애노테이션을 component-scan을 xml에 선언해서 사용하고 있다. 기존에 사용하는 component-scan 사용방식이 불필요해보여서 정리할 필요가 있다고 느껴져 선임님과 같이 찾아보고 수정을 했다. component-scan으로 애노테이션을 어떻게 스캔해서 사용하는지 정리하려고 한다. base-package는 패키지를 어디부터 스캔할지 지정해주는 부분이다. 스캔할 패키지를 여러개로 지정해줄 수도 있다. spring 공식문서를 보면 component-scan 방법에 대해 잘 나와있다. 스프링 2.5버전 이상부터 st..
-
[Eclipse] 이클립스에서 class 파일 열기(Class Decompile)웹 개발/Spring Framework 2019. 2. 7. 00:08
이클립스에서 class 파일 열기.md 이클립스에서 class 파일 열기(class decompile) 클래스 파일을 열기 위해서는 decompiler 가 필요하다. complie이 된 java의 class파일을 열기 위해서는 decompile이 필요하기 때문이다. Enhancde Class Decompiler라는 아주 편리한 플러그인이 존재하는데, 이를 이용해서 class 파일을 decompile하는 법을 포스팅하겠다. class 파일을 바로 이클립스 창에 드래그앤드롭을 하면 아래처럼 에러 창이 뜰 것이다. 이클립스 마켓으로 가서 decompiler라고 검색하고 Enhanced Class Decompiler 를 다운 받는다 다운을 받다보면 검증되지 않는 콘텐츠라고 알림창이 뜨는데 많은 사람들이 이용하고..
-
[Eclipse] tomcat 서버 목록에 프로젝트가 안 보일 경우웹 개발/Spring Framework 2019. 1. 15. 15:19
아래 사진처럼 프로젝트는 있는데 톰캣 서버 목록에 아무것도 안 뜨는 문제가 생겼다. STS3 -> STS4로 바꾸는 과정에서 생겼는데 기존 STS3와 비교하고, 구글링을 하면서 힌트를 얻어서 해결했다.(캡처 사진은 해결하고 난 뒤라서 프로젝트 목록을 가렸다.) 글쓴이 개발도구Spring suite tool 4(이클립스 기반) 해결한 방법Eclipse JST Server Adapters, Eclipse Java EE Developer Tools가 설치되었는지 확인해본다.(이클립스 마켓에서 다운 받을 수 있다. Help > Eclipse Marketplace)
-
[Spring]필드 주입(Field Injection) 대신 생성자 주입(Constructor Injection)을 사용해야 하는 이유웹 개발/Spring Framework 2018. 12. 31. 14:28
Field Injection is not recommended.md Field Injection을 추천하지 않는 이유(+Constructor Injection을 추천하는 이유) 의존성 주입을 할 때 Field Injection은 좋지 않다는 글을 읽고 왜 그런지 찾아봤다. 스택오버플로 뿐만 아니라 스프링팀에서도 Field Injection을 추천하지 않았다. 왜 그런지 몇가지 글을 보고 종합해서 정리해본다. 일단, 의존성 주입의 종류로는 Constructor, Setter, Field 타입이 있다. Constructor(생성자) public class ExampleCase{ private final ChocolateService chocolateService; private final DrinkServi..
-
[Spring] e.printStackTrace() vs logger.error(logger.error를 사용해야하는 이유)웹 개발/Spring Framework 2018. 12. 22. 15:04
temp1 e.printStackTrace() vs logger.error e.printStackTrace()를 사용하지 말고 logger.error를 사용하라는 글을 읽었던 기억이 있다. 부가적인 설명이 있었는데, 뭔가 구체적으로 알고 싶어 스택오버플로를 뒤져봤다. 왜 써야하는지 많은 개발자분들이 댓글을 달아놨는데, 그 댓글들을 해석해 정리해두려한다.(별이 많은 댓글 중심으로 정리!) answers logback이나 log4j같은 logging framework를 사용하지 않으면 아래와 같은 코드를 작성할 것이다. e.printStackTrace(); logging framework를 사용한다면, 아래와 같이 작성할 수 있다. logger.error("Error Occurs!!", e); logging..
-
[Spring] 스케줄러 만들어보기웹 개발/Spring Framework 2018. 12. 18. 16:22
스케줄링.md xml에서 스프링 스케줄링 구현하기(xml task 네임스페이스 활용) 구글링을 해봤을 때, java단에서 스케줄링을 구현하는 경우가 많았다. xml에서 구현하는 법은 잘 안보여서 정리해둬야짓. 스프링은 서비스 추상화 기법을 이용해서 스케줄링 기술에 독립적인 사용이 가능한 추상화 서비스 인터페이스인 TaskScheduler를 제공한다. TaskScheduler는 조건에 따라 실행하거나 반복적인 작업을 수행한다. 주어진 태스크는 특정 시간에 동작하거나 일정 간격으로 실행되게 만들수 있다. 그 중 task 네임스페이스를 활용해서 스케줄러 만드는 법을 소개해보려한다. 먼저 스케줄러가 들어갈 xml에서 TaskScheduler 타입의 ThreadPoolTaskScheduler 빈을 등록한다. sp..