在java中,ssh框架,eclipse编译时,在action中要写@Controller 和@Scope("prototype")分别是什么含意? java里的@controller()有什么作用?
作者&投稿:大会 (若有异议请与网页底部的电邮联系)
ssh框架下,配置action的时候每一个action都加上scope="prototype,"~
@Controller
@RequestMapping("/user")
public class UserController {
}
2、@Scope 顾名思义就是作用域的意思,表示这个struts2的action的作用范围每一次调用的时候就会新建一个action,如果@Scope中的prototype换成singleton(也就是单例)就是会出现,每一次请求用同一个action。
@Controller用于标注控制层组件(如struts中的action)
这句的意思是ACTION采用原型模式,即针对一个请求生成一个ACTION的实例,这是STRUTS2默认的ACTION生命周期,规避了线程安全问题,而SPRING BEAN默认的生命周期模式是单例的,在管理STRUTS2的ACTION时,为了一致性,需要加上这一句。
一般情况而言,只要不是并发访问量特别大,对系统性能影响不大
@Controller 看起来像是spring MVC用的注解
用来注解这个bean是MVC模型中的一个C 会被spring的auto-scan扫到纳入管理
关于spring MVC或者什么的 请自行google……
当然不排除这个@Controller是一个自定义的annotation 那就不一定是干什么的了
@Controller
@RequestMapping("/user")
public class UserController {
}
2、@Scope 顾名思义就是作用域的意思,表示这个struts2的action的作用范围每一次调用的时候就会新建一个action,如果@Scope中的prototype换成singleton(也就是单例)就是会出现,每一次请求用同一个action。
@Controller用于标注控制层组件(如struts中的action)