Code Bye

struts2 spring整合 action创建问题

代码如下:
@Controller(“UserAction”)
@ParentPackage(“basedefault”)
@Namespace(“/zjbh”)
@Scope(“prototype”)
public class UserAction extends ActionSupport   {
@Action(value = “goRule”, results = { @Result(name = “success”, location = “/WEB-INF/jsp/test.jsp”) })
public String goRule(){  
return “success”;
}
}
这个action实例 是由谁创建的? 

如果我想action创建交给spring  同时通过struts2注解的方法引用 这样可以实现吗


60分
默认还是struts2创建的
如果想交给spring的话在struts.xml里面加上
<constant name=”struts.objectFactory” value=”spring” />

20分
action当然要交个Spring来创建了,不然整合Spring干什么,如楼上所说,加上<constant name=”struts.objectFactory” value=”spring” />这句话!注解没用过,都是通过XML文件配置的!

20分
配置在xml文件中修改方便!  代码中配置麻烦点!    如楼上跟楼上的楼上所说!
@Controller(“UserAction”) 是spring创建bean的注解

下面的注解是struts的注解 也会创建一个action实例
@ParentPackage(“basedefault”)
@Namespace(“/zjbh”
@Action(value = “goRule”, results = { @Result(name = “success”, location = “/WEB-INF/jsp/test.jsp”) })

如果两个注解同时存在 这个实例是谁创建的。 

各位大哥又有一个问题了  没分了 顺便问下:

我的service类 有spring管理创建,

@Service(“loginServiceImpl”)
public class LoginServiceImpl extends BaseService implements LoginService{

BaseService 是一个抽象类
这个类里面 使用spring注解进行获取数据库操作对象  但是这个类没有交给spring管理,但是在子类里面可以或者这个数据库操作对象。  难道子类由spring管理 抽象父类spring也会管理吗??
public abstract class BaseService {

@Resource(name = “jdbcService”)
private JdbcService jdbcService;

public JdbcService getJdbcService() {
return jdbcService;
}

public void setJdbcService(JdbcService jdbcService) {
this.jdbcService = jdbcService;

}


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明struts2 spring整合 action创建问题