웹 개발
-
[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] java: org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter in org.springframework.web.servlet.config.annotation has been deprecated 해결웹 개발/에러 해결 2018. 12. 29. 21:31
Warning:(8, 57) java: org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter in org.springframework.web.servlet.config.annotation has been deprecated 스프링부트(version 2.0.4)로 개발중인데 갑자기 위의 에러가 나왔다. 스프링부트 2는 스프링 프레임워크 5를 사용한다. 스프링 5에서는 WebMvcConfigurerAdapter 대신 WebMvcConfigurer를 사용한다. 자바 8에서(스프링부트2는 jdk8부터 사용가능하다) WebMvcConfigurer 인터페이스를 소개하고 있다. WebMvcConfigurer 인터페이스가 WebMvcConf..
-
[JUnit] Argument(s) are different! Wanted: 에러 해결웹 개발/에러 해결 2018. 12. 22. 16:02
temp2 [JUnit] Argument(s) are different! Wanted: JUnit Controller 테스트에서 validation 중에 발생한 에러!! 에러가 설명하듯이 인자가 다르단다. 어? 근데 콘솔 찍히는거보면 똑같은데 왜 다르다고 뜨지?라는 의문이 생겼다. 테스트 코드는 아래와 같이 작성했었다. coffeeDTO에 데이터를 심고 getCustomerList에 coffeeDTO를 담아서 컨트롤러와 서비스가 잘 동작하고 있는지 체크하는 테스트코드다. CoffeeDTO coffeeDTO = new CoffeeDTO; coffeeDTO.setCoffeeName("블루마운틴"); coffeeDTO.setCountry("Jamaica"); coffeeDTO.setPrice("4000"); ..
-
[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..