spring怎么使用IOC的注入到Struts2的Action里?谢谢!

java2670655722 2012-10-29 07:55:05
请看我的struts2的action代码:


public class RegisterAction {

private String username;
private String password;

private User user;

private UserService userService;

public String execute() {

System.out.println("username: " + username);
return "success";
}


我的这段代码是使用spring3.0和struts2.0做整合的。
username和password是JSP传递过来的数据。
我现在需要让spring帮我把user和userService对象使用IOC注入,但我不知道怎么写才能运行正常,现在总是报错,请大家帮帮忙,谢谢!
...全文
257 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
XBC74 2013-10-09
  • 打赏
  • 举报
回复
让你的username,password,user都得到set,get方法试试
jumpheightway 2012-10-30
  • 打赏
  • 举报
回复
简单的说就是action配置成spring的bean
sgyyz 2012-10-29
  • 打赏
  • 举报
回复
其实你报错的原因并不是你代码什么地方有错,只是一个概念没有搞明白。

你需要IOC注入,那么你注入的对象应该也是属于Spring管理的对象,Spring才有权限去注入相应的对象。
因此你应该将Action交给Spring管理,要不就是加注释,要不就用配置!看你具体系统采用的是哪种方式……
yhlssdone 2012-10-29
  • 打赏
  • 举报
回复
恩,一楼是用注解,二楼使用xml配置,基础知识
java2670655722 2012-10-29
  • 打赏
  • 举报
回复
2楼的大哥,你把代码贴上来之后怎么用啊?
diypyh 2012-10-29
  • 打赏
  • 举报
回复
<bean id="userDaoImpl" class="com.pyh.ssh.dao.impl.UserDaoImpl"/>

<bean id="userServiceImpl" class="com.pyh.ssh.biz.impl.UserServiceImpl">
<property name="userDao" ref="userDaoImpl" />
</bean>

<bean id="userAction" class="com.pyh.ssh.web.UserAction">
<property name="userService" ref="userServiceImpl" />
</bean>
zuxianghuang 2012-10-29
  • 打赏
  • 举报
回复
用注解么?
在action类上加@Controller

userService类上加 @Service

@Controller
public class RegisterAction {

private String username;
private String password;

@Autowired
private User user;
//实体类,一般不用注入,如果要注入,在这个类上加 @Component,然后 像下面一样@Autowired注入

@Resource
private UserService userService; //这个是接口,还要有个实现类,如果你不把这个类定义为接口,
就改用 @Autowired 注入

public String execute() {

System.out.println("username: " + username);
return "success";
}

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧