-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ]

, 01 2017 . 15:13 +
Field Dependency Injection Considered Harmful Vojtech Ruzicka

image

DI-, Spring. , .


: , . , .


private DependencyA dependencyA;
private DependencyB dependencyB;
private DependencyC dependencyC;

@Autowired
public DI(DependencyA dependencyA, DependencyB dependencyB, DependencyC dependencyC) {
    this.dependencyA = dependencyA;
    this.dependencyB = dependencyB;
    this.dependencyC = dependencyC;
}


private DependencyA dependencyA;
private DependencyB dependencyB;
private DependencyC dependencyC;

@Autowired
public void setDependencyA(DependencyA dependencyA) {
    this.dependencyA = dependencyA;
}

@Autowired
public void setDependencyB(DependencyB dependencyB) {
    this.dependencyB = dependencyB;
}

@Autowired
public void setDependencyC(DependencyC dependencyC) {
    this.dependencyC = dependencyC;
}


@Autowired
private DependencyA dependencyA;
@Autowired
private DependencyB dependencyB;
@Autowired
private DependencyC dependencyC;

?


, . , , . . DI-. @Autowired . , DI- . Java , , , ?


. . , . , , - . , . (single responsibility) (.: separation of concerns) , . , .


DI- , . - : DI- . , , . , , ( ) ()

DI-


DI- , . , POJO-, , . , - ( ). , , DI-.

. , :

  • ( -) new , , NullPointerException
  • DI- (, )


, final-, ,

vs


, . ? . ?


. , . . , . . MBean JMX.
Spring 3.x :
Spring , , . . JMX MBeans

. , . ,


, . , , . , , final, .

, ( ). , , , . .

, Spring 4.3+ DI-. , Spring . , DI- . , DI Spring ; .

Spring 4.x, :
Spring , , null. , , , . , , , , , , .

, - . , not-null , . ,


. . . , - , . . .
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334636/

:  

: [1] []
 

:
: 

: ( )

:

  URL