Java
-
[토비의 스프링 3.1 Vol.1] 3장 템플릿Java/Spring Framework 2018. 1. 4. 22:45
[사족] 3장은 이제 한 3번째 보는 것 같다. 역시나 새로운 것은 마찬가지다. 예전에 실습 했던게 조금 기억은 나긴하지만. p.241에 콜백을 설명하면서 "자바에선 메소드 자체를 파라미터로 전달할 방법은 없기 때문에 메소드가 담긴 오브젝트를 전달해야 한다. 그래서 펑셔널 오브젝트(functional object)라고도 한다."라고 나온다. 이제는 람다가 가능하여 메소드 조각도 파라미터로 전달 가능한 시대가 왔다. 토비의 스프링3가 2010년, 지금 내 책의 초판 인쇄가 2012년인걸 보니 격세지감이 느껴졌다. 그런데 나는 왜 아직도 완독을 못한걸까? [내용] 3장의 목차3.1 다시 보는 초난감 DAO3.2 변하는 것과 변하지 않는 것3.3 JDBC 전략 패턴의 최적화3.4 컨텍스트와 DI3.5 템플릿과..
-
[토비의 스프링 3.1 Vol.1] 2장 테스트Java/Spring Framework 2017. 12. 25. 22:09
[사족] 이제는 Java에서는 어지간하면 JUnit을 이용해서 메소드들을 테스트한다. 쉽고 빠르게 여러번 테스트 하기 쉽기 때문이다. 테스트를 작성하는 과정이 까다롭거나 귀찮을 수 있으나 단점보다 장점이 훨씬 많다고 생각된다. 스프링을 사용하지 않더라도 JUnit을 활용하면 테스트 하기 쉽다. 2장에서는 Java의 기본적인 테스트부터 스프링의 테스트, 나아가 학습테스트까지 소개하고 있다. [내용] 2장의 목차이다. 2.1 UserDaoTest 다시 보기 2.2 UserDaoTest 개선 2.3 개발자를 위한 테스팅 프레임워크 JUnit 2.4 스프링 테스트 적용 2.5 학습 테스트로 배우는 스프링 2.6 정리 1장에서 만든 main메소드를 이용한 테스트를 JUnit을 활용한 테스트로 변모시켜 나간다. 만..
-
[토비의 스프링 3.1 Vol.1] 1장 오브젝트와 의존관계Java/Spring Framework 2017. 12. 24. 22:44
[사족] 1장만 8번 정도 본것 같다(2011년 정말 글자만 읽은 시절 포함). 이제야 한 90% 이해하는 것 같다. 그만큼 깊고 중요하고 필요한 내용들을 담고 있는 책인것 같다. 하지만 아직 완독한 적이 없다... 토비의 스프링3.1을 완독하기 위해 한 장을 읽을 때 마다 짧게라도 정리하고 느낀점들을 남길까 한다. [내용] 1장의 큰 목차는 다음과 같다. 1.1 초난감 DAO 1.2 DAO의 분리 1.3 DAO의 확장 1.4 제어의 역전(IoC) 1.5 스프링의 IoC 1.6 싱글톤 레지스트리와 오브젝트 스코프 1.7 의존관계 주입(DI) 1.8 XML을 이용한 설정 1.9 정리 아주 기본적이고 기초적인 DAO 코드를 가지고 조금씩 리팩토링 하면서 객체지향적이고 스프링다운 코드로 변모하는 과정을 보여준..
-
[Java9] 자바9 설치Java/기본 2017. 9. 23. 03:04
드디어 자바9가 정식 출시 되었다.설치는 오라클 Java SE 다운로드 페이지에서 받을 수 있다. Accept License Agreement를 선택하고 자신의 OS에 맞는 버전을 다운받는다.(윈도우 10 기준: jdk-9_windows-x64_bin.exe)파일을 열어 설치를 한다. (따로 경로 설정하지 않고 쭉쭉 그대로 진행하는 것이 무난함) 설치가 완료되면 제어판 - 모든 제어판 항목 - 시스템창에서 고급시스템설정 - 환경변수(N)을 클릭한다. 새로 만들기를 눌러서 새로운 시스템 변수를 입력한다. 변수 이름에는 JAVA_HOME (다른 것도 가능하지만 관례상 이렇게 사용한다),변수 값에는 jdk-9가 설치된 경로로 설정한다. 디렉터리 찾아보기를 이용하면 쉽게 경로를 넣을 수 있다. 개인적으로 윈10..
-
[IntelliJ] JUnit static import 설정Java/IDE 2017. 8. 20. 22:57
Eclipse에서 JUnit을 사용할 때 가장 귀찮았던 것이 static import가 저절로 안 되는 것이었다. (물론 미리 등록을 해두거나 해서 쉽게 불러오게 할 수 있는 방법이 있었지만 귀찮아서 다른 테스트 클래스에서 복사해서 사용했었다...) IntelliJ로 넘어 왔으니 이정도는 저절로 해주겠지? 그러나 왠걸, auto complete로 import가 안되었다. "intellij junit static import"등의 검색어로 구글링을 해보아도 원하는 답이 나오지 않았다. 그렇게 몇번의 삽질 끝에 방법을 찾았다. 1. 일반적인 자바 프로젝트가 있다고 가정 2. @Test가 들어갈 클래스를 만들고 @Test 어노테이션을 붙인다. (여기까지는 쉽다.)"@Test"까지 치고 Alt + Enter를 ..
-
[Java7] 자바 숫자 _(언더바) 표현Java/기본 2017. 7. 9. 21:12
Oracle Java docs: Underscores in Numeric Literals 자바 8 인 액션을 보다가 숫자와 _(언더스코어)를 섞어서 쓰는 것을 처음 보았다. int a = 10_000_000; 이런 식인 것이다. 자바7 이후 버전부터 _는 숫자 리터럴의 어디에도 등장할 수 있다. 이로 인해 숫자를 끊어 읽을 수 있게 되어 가독성을 향상 시킬 수 있다. 예를들어 int myMoneyWon = 180000000라고 할 때, 한번에 얼마인지 파악하기 힘들다. 하지만 int myMoneyWon = 180_000_000라고쓴다면 (한국인의 경우) 몇 원인지 파악하기 쉽다. 하지만 마음대로 숫자와 섞어 쓸수는 없다. _는 숫자 사이에만 올 수 있다. 아래와 같은 곳에는 위치할 수 없다. 숫자의 처음..
-
[Spring Boot] 가장 쉽게 시작하기 2Java/Spring Framework 2017. 6. 16. 23:13
1편에서 내장톰캣으로 스프링부트 어플리케이션을 구동시키는 것까지 해보았다. 오늘은 간단한 RESTful API 서버를 만들어 보도록 하겠다. HomeController.java @RestController : @Controller + @ResponseBody 의 축약형으로써, 리턴값을 뷰리졸버로 매핑하지 않고 그대로 출력해준다.@GetMapping : @RequestMapping(method = RequestMethod.GET) 의 축약형으로써, 애너테이션만 보고 무슨 메소드 요청인지 바로 알아볼 수 있다. User.java User에 포함시킬 프로퍼티들을 정의하고 Getter와 Setter를 정의해준다. 할 것들은 벌써 다 끝났다. DemoApplication을 Run해보면 다음과 같은 결과화면을 볼 ..
-
[Spring Boot] 가장 쉽게 시작하기 1Java/Spring Framework 2017. 5. 25. 01:22
스프링5.0.0 RC1도 나왔고, 스프링부트2.0.0 M1도 나왔다. 기념으로 spring.io에서 제공하는 방법으로 쉽게 스프링부트 프로젝트를 띄워보자. > 스프링부트 홈페이지 접속 > Quick Start 문단의 start.spring.io 클릭 > Project 종류 (Maven or Gradle), 언어 (Java, Kotlin, Groovy), 스프링부트 버전(현재 1.5.3)를 선택Group, Artifact 이름을 정하고 Dependencies들을 추가해준다. (간단하게 Web만 선택)그리고 Generate Poject 버튼을 클릭 (혹은 Alt + Enter) > 다운 받아진 압축파일을 해제한 뒤, Intellij로 불러와서, DemoApplication의 main 메소드를 실행한다. (단..