http://blog.csdn.net/wuyt2008/article/details/8237150
這裏,還可以用spring的註解注入的方式進行注入。
導入的包和之前一樣不變,web.xml不變
applicationContext.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <context:component-scan base-package="demo.myssh.business" />
- </beans>
struts.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
- "http://struts.apache.org/dtds/struts-2.3.dtd">
- <struts>
- <package name="mysshdemo" extends="struts-default">
- <action name="user" class="demo.myssh.action.UserAction">
- <result>/index.jsp</result>
- </action>
- </package>
- </struts>
UserAction.java
- package demo.myssh.action;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import com.opensymphony.xwork2.ActionSupport;
- import demo.myssh.business.UserService;
- public class UserAction extends ActionSupport {
- @Override
- public String execute() throws Exception {
- this.addActionMessage("UserAction working");
- // this.addActionMessage("hello world.");
- this.addActionMessage(userService.doing());// 修改下,確認注入成功。
- return ActionSupport.SUCCESS;
- }
- // 注入屬性
- @Autowired
- private UserService userService;
- }
UserService.java
- package demo.myssh.business;
- import org.springframework.stereotype.Service;
- @Service
- public class UserService {
- public String doing()
- {
- return "UserService working.";
- }
- }
運行結果和之前的一樣。
這樣的注入方式可以省去一些代碼,不需要大量的配置文件。
沒有大量的配置文件,好處是省了不少代碼,壞處是沒有統一地方查看。
不過個人認爲,如果採取這樣的注入方式的話,不如直接把struts踢掉直接用spring3的mvc好了。