小伙看你根骨奇佳,潜力无限,来学PHP伐。
Autowired修饰了该变量,Spring容器中获取对应的Bean设置为该变量的值。
Autowired
Spring
Bean
你使用了 Spring 框架,又用 @Controller 注解由 Spring 管理该 ProductController,当 ProductController 实例化后会搜索 @Autowired 并注入被 Spring 管理的其他实例。
productDao 上面使用 @Autowired 注解,意思就是从 Spring 上下文中自动注入实例.
Spring 上下文中类都是单例, 启动后这些类都会在上下文中初始化好,所以你在 ProductController 中可以直接调用.
这是被自动注入的,ProductDaoFacade应该被声明为了一个bean。
ps:ProductDaoFacade这个代码写得真是太奇怪了,明明是个interface还facade(这是一个设计模式)。同时,还放了那么多常量,这是典型的constant interface。简单来说,建议使用枚举类。如果想深入了解一下,建议参考effective java中的建议之一————接口只用于定义类型。
ProductDaoFacade
constant interface
接口只用于定义类型
spring 在包扫描时 发现 @Controller 注解 将controller类进行了管理维护 在发现@Autowired后 启动了装配机制并根据改属性类型在Spring 管理的Bean的上下文中进行了查找 进行了注入 专业名词叫做IOC
这个叫春的框架 帮你做了啊<_<
Autowired
修饰了该变量,Spring
容器中获取对应的Bean
设置为该变量的值。你使用了 Spring 框架,又用 @Controller 注解由 Spring 管理该 ProductController,当 ProductController 实例化后会搜索 @Autowired 并注入被 Spring 管理的其他实例。
productDao 上面使用 @Autowired 注解,意思就是从 Spring 上下文中自动注入实例.
Spring 上下文中类都是单例, 启动后这些类都会在上下文中初始化好,所以你在 ProductController 中可以直接调用.
这是被自动注入的,ProductDaoFacade应该被声明为了一个bean。
ps:
ProductDaoFacade
这个代码写得真是太奇怪了,明明是个interface还facade(这是一个设计模式)。同时,还放了那么多常量,这是典型的constant interface
。简单来说,建议使用枚举类。如果想深入了解一下,建议参考effective java中的建议之一————接口只用于定义类型
。spring 在包扫描时 发现 @Controller 注解 将controller类进行了管理维护 在发现@Autowired后 启动了装配机制并根据改属性类型在Spring 管理的Bean的上下文中进行了查找 进行了注入 专业名词叫做IOC
这个叫春的框架 帮你做了啊<_<