请看我的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注入,但我不知道怎么写才能运行正常,现在总是报错,请大家帮帮忙,谢谢!

解决方案 »

  1.   

    用注解么?
    在action类上加@ControlleruserService类上加 @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";
        }
      

  2.   

    <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>
      

  3.   

    恩,一楼是用注解,二楼使用xml配置,基础知识
      

  4.   

    其实你报错的原因并不是你代码什么地方有错,只是一个概念没有搞明白。你需要IOC注入,那么你注入的对象应该也是属于Spring管理的对象,Spring才有权限去注入相应的对象。
    因此你应该将Action交给Spring管理,要不就是加注释,要不就用配置!看你具体系统采用的是哪种方式……
      

  5.   

    简单的说就是action配置成spring的bean
      

  6.   

    让你的username,password,user都得到set,get方法试试