当作用域范围为singleton时,在初始化Spring容易的时候实例化bean实例,为缺省值。
当作用域范围为prototype时,在调用Spring的getBean的方法时实例化bean对象
当作用域范围为prototype时,在调用Spring的getBean的方法时实例化bean对象
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Controller用于标注控制层组件(如webwork、struts2中的action)
@Service用于标注业务层组件
@Repository用于标注数据访问组件,即DAO组件
备注:在典型的MVC三层开发模式下,强烈建议使用@Controller、 @Service、@Repository来严格区分
Action的注解 需要考虑是否加 @Scope注解。
有状态的Action(即有输入参数的),一定要@Scope("prototype")
无状态的Action(没有任务输入参数),可以不加。
备注: 默认情况下,通过@Component定义的bean,都是 singleton.
所有不加的话会默认为@Scope("singleton ")
而@Controller、 @Service、@Repository定义时,亦是如此!