객체를 초기화할때는 보통 생성자를 이용하게된다. class Person { private int age; public Person(){ this(29); } public Person(int age){ this.age = age; } } 스프링 빈을 이용할때는 빈 라이프사이클에 알맞는 초기화 방법들을 제공하고있는데 그것들에 대해 알아보자. 1. InitializingBean, DisposableBean Interface스프링은 초기화, 소멸을 지원하기위한 인터페이스를 제공하는데 그것이 InitializingBean, DisposableBean이다. public interface InitializingBean { void afterPropertiesSet() throws Exception; } public ..
생성자를 통한 주입, 설정자(setter)를 통한 주입은 평소에도 많이 사용해오던 방식이라 익숙한데 static factory method를 이용한 spring bean 생성은 어렵다기보다 익숙하지않았다. 그래서 간략하게 정리를 해보고자 한다. 1. static factory Methodclass Person { private int age; public static Person newInstance(int age) { Person person = new Person(); person.age = age; return person; } private Person(){} } Person 클래스가 있고 해당 클래스의 인스턴스를 생성하는 팩토리 메서드를 제공한다. 팩토리메서드의 사용을 강제하기위해 기본생성자는 ..
얼마전 포스팅했던 Joda Time에 대해 사내발표를 진행했는데... 사내 프로젝트 내에서 Date타입으로 선언된 필드들을 Joda Time으로 변경하자는 의견이 나왔고, 다른 개발자들이 별다른 설정이나 추가코드를 작성할 필요없이 Joda Time 클래스를 사용할 수 있게 하라는 지시가 내려왔다. 이렇게까지 일을 벌일(?) 생각은 없었는데 그 작업을 맡게되었고 일단 날짜 데이터를 화면에서 보내면 LocalDate(혹은 LocalDateTime)로 자동으로 받을 수 있게끔 작업하는것부터 시작이 됐어야했다. 그 작업을 포스팅으로 남겨두려한다. 1. Spring Data Binding일단 Spring 컨트롤러는 매개변수로 변수를 넣어놓으면 알아서 해당 타입으로 값을 갖다 쓸 수있게 되어있다.@RequestMa..
스프링을 이용하여 개발하다보면 List나 Map같은 컬렉션 프레임워크로 이루어진 빈이 필요할때가 있다.보통은 컬렉션 프레임워크를 필드로 갖고있는 클래스를 생성하고 그 클래스를 빈으로 만들어서 해결하는 경우가 많은데(실제로도 그게 더 바람직한 방법일때가 많은것 같다.) 그런 래퍼클래스(Wrapper Class)가 아닌 컬렉션 클래스 그 자체로 빈을 생성해야하는 경우도 존재한다. 빈 설정파일에 이렇게 등록해주고 주입받으면 된다. 주입받을땐 이유는 모르겠지만 @Qualifier 로는 주입이 되지않았다. 일단 일하느라 바빠서ㅜㅜ 원인은 나중에 찾아보고 @Resources 애노테이션으로 주입받아 사용했다.
이클립스를 쓰다가 인텔리제이로 넘어오면 신세계를 맛보는 느낌일것이다.일단 뭐가 더 좋은지도 모르면서 그저 유료툴이니까 더 좋아보이는 플라시보효과도 있을거고 이클립스에서는 뭔가 불안정했던 디자인적요소도 매우 깔끔해진것도 느낄것이다.그런 기쁨 마음으로 새 프로젝트를 시작하고자 스프링 mvc 프로젝트를 생성하려고하면 이클립스와는 뭔가 다름을 알수있을텐데 이클립스에서 지원해주는 spring mvc 초기 프로젝트 설정이 인텔리제이에서는 찾을 수가 없다.구글에 검색하면 왠지 있는것같은 게시물들이 막 나오는데 아무리 찾아도 없다. 아마도 버전이 올라오면서 사라진게 아닐까...생각하는데 찾고찾다가 도저히 없어서 나같은 사람을 위해 포스팅을 진행하게 됐다. intellij 는 이클립스와 명칭부터 약간 다른데 짧게 설명하..
현재 널리 사용되고있는 자바 프레임워크인 Spring의 핵심 가치중 하나는 IoC라 할 수 있다. IoC는 Inversion of Control의 약자로 번역하면 제어의 역전이라는 뜻인데 스프링 컨테이너를 의미한다. 간단하게 말하면 개발자들이 직접 new 연산자를 통해 생성하던 객체제어를 스프링 컨테이너가 가져감으로서 애플리케이션 내에서 사용되는 객체의 생성과 소멸(LifeCycle)을 프레임워크가 담당하겠다는 것이다. 그리고 그런 IoC를 구현하기위해 도입된게 DI인데 IoC는 공부를 하면 할수록 너무 방대한 개념인것같아 아직 내가 다루기엔 무리가 있는듯해 DI에 대해서만 포스팅을 해보겠다.DI는 Dependency Injection의 약자로 의존성 주입이라는 말로 번역된다.여기서 의존성이란 간단하게 ..
- Total
- Today
- Yesterday
- Kotlin
- Spring
- javascript
- JPA
- EffectiveJava
- Design Pattern
- servlet
- code
- 정규표현식
- frontend개발환경
- TEST
- Git
- DesignPattern
- MySQL
- toby
- frontcode
- OOP
- http
- backend개발환경
- java
- db
- go-core
- generics
- java8
- Jackson
- programming
- clean code
- mariadb
- JavaScript Core
- spring cloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |