Java/Spring Framework
-
[토비의 스프링 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 코드를 가지고 조금씩 리팩토링 하면서 객체지향적이고 스프링다운 코드로 변모하는 과정을 보여준..
-
[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 메소드를 실행한다. (단..
-
M1, RC, GA 란?Java/Spring Framework 2017. 5. 25. 00:42
스프링의 릴리즈 버전들을 보고 있노라니 RC, GA, M1(혹은 2, 3) 등의 접미사가 달리는 것을 볼 수 있다.각각이 뜻하는 바를 찾아보았다. M1: Milestone 1프리 알파 단계에 있는 한 종류. 특정한 집합의 기능이 포함되며 기능이 완성되자마자 공개 RC: Release Candidate 마지막 제품이 될 가능성이 있는 베타 버전으로, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미 GA: General Availability필요한 모든 상업화 활동이 완료되어 웹이나 물리 매체를 통해 시장에서 이용할 수 있게 됨을 의미 출처 : 위키(소프트웨어 생명주기)
-
[Spring Boot] Welcome Page 설정Java/Spring Framework 2016. 12. 30. 00:00
Request Mapping으로 최상단 주소 ("/", Welcome Page)로 입력해도 메인 컨트롤러로 forward해주는 방법을 검색해봤다. WebMvcConfigurerAdapter 클래스를 상속한 뒤, addViewControllers 메소드를 오버라이드하여 특정 입력으로 들어오는 URL에 대하여 원하는 URL로 forward 해준다. 이 때 HIGHEST_PRECEDENCE는 내부적으로 Integer.MIN_VALUE인데, 값이 작을수록 우선순위가 높다. @Configuration class DefaultView extends WebMvcConfigurerAdapter{ @Override public void addViewControllers(ViewControllerRegistry regis..
-
[Spring Boot]1.4.2.RELEASE is missing, no dependency information availableJava/Spring Framework 2016. 12. 26. 23:50
책을 따라하던 중 Boot 1.4.2.RELEASE로 한답시고, springloaded의 버전까지 1.4.2로 설정.mvn package를 하는데 다음과 같은 에러가 발생 1.4.2.RELEASE의 dependency를 resolve할 수 없다?? MVN REPOSITORY에서 Springloaded를 검색해보니 최신 버전이 1.2.6.RELEASE!그래서 1.4.2.RELEASE로 되있던 것을 1.2.6.RELEASE로 바꾸니 package 성공! org.springframework springloaded 1.2.6.RELEASE