java中成员变量productDao并没有初始化,为什么可以调用方法?
伊谢尔伦
伊谢尔伦 2017-04-18 10:56:06
0
6
661

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(6)
阿神

Autowired은 변수를 수정하고 해당 SpringBean 컨테이너에서 가져와 변수의 값으로 설정됩니다.

洪涛

Spring 프레임워크를 사용하고 Spring에서 관리할 @Controller로 ProductController에 주석을 답니다. ProductController가 인스턴스화되면 @Autowired를 검색하고 Spring에서 관리하는 다른 인스턴스를 삽입합니다.

黄舟

@Autowired 주석은 productDao에서 사용되는데, 이는 인스턴스가 Spring 컨텍스트에서 자동으로 주입된다는 의미입니다.

Spring 컨텍스트의 클래스는 모두 싱글톤입니다. 시작 후 이러한 클래스는 컨텍스트에서 초기화되므로 ProductController에서 직접 호출할 수 있습니다.

大家讲道理

이것은 자동으로 주입되므로 ProductDaoFacade를 Bean으로 선언해야 합니다.

ps:ProductDaoFacade이 코드 작성은 정말 이상합니다. 인터페이스이기도 하지만 외관이기도 합니다(디자인 패턴입니다). 동시에 상수가 너무 많아서 전형적인 constant interface입니다. 간단히 말해서 열거형 클래스를 사용하는 것이 좋습니다. 더 자세히 알고 싶으시다면 Effective Java의 제안 중 하나를 참고하시는 걸 추천합니다————接口只用于定义类型.

Peter_Zhu

spring은 패키지 스캔 중 @Controller 주석을 발견하고 컨트롤러 클래스를 관리 및 유지 관리한 후 @Autowired를 발견한 후 어셈블리 메커니즘을 시작하고 변경된 속성 유형에 따라 Spring에서 관리하는 Bean의 컨텍스트에서 검색하고 주입했습니다. .전문용어로는 IOC

伊谢尔伦

Spring이라는 프레임워크가 여러분을 위해 만들어졌습니다<_<

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿