spring @Inject 공부

general java 2014. 12. 9. 01:15

@Inject를 Autowired와 같이 필드에서 많이 사용해서 필드쪽은 잘 알겠는데, 생성자나 메소드쪽은 잘 안써서,, 정리차 대충 글을 찾아보고 써본다.





@Inject는 @Autowired와 비슷한 의미를 가지고 있다.


@Inject 는 필드, 생성자, 메소드에서 쓰이고 있는데, 간단히 살펴본다.

제일 좋은 문서는 api doc 이다. 


https://docs.oracle.com/javaee/6/api/javax/inject/package-summary.html


@inject에 대한 api 이다. 

https://docs.oracle.com/javaee/6/api/javax/inject/Inject.html


<필드>

자주 사용하니 패쓰..


<생성자>

일반적으로 생성자 Inject는 여러 생성자 중 하나의 생성자에서 인수를 Inject(주입)시켜 인스턴스를 생성하도록 되어 있다.  


좋은 예제

http://www.tutorialspoint.com/spring/constructor_based_dependency_injection.htm



아래 예제는 Facebook에서 개발한 Swift 의 ThriftServer이다. Spring을 이용하여 ThriftServer를 생성하려면 @Inject가 걸려 있는 생성자를 활용하면 된다. 

http://grepcode.com/file/repo1.maven.org/maven2/com.facebook.swift/swift-service/0.5.0/com/facebook/swift/service/ThriftServer.java?av=f



@Inject

 public ThriftServer(TProcessor processor, ThriftServerConfig config, @ThriftServerTimer Timer timer)

{

...

}



<메소드>

설명보다 아래 예제에서 잘 설명됨 (prototype, look-up)


좋은 예제

http://java.dzone.com/articles/method-injection-spring


http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-method-injection








Posted by '김용환'
,