2012-08-23 23 views
2

我是Spring MVC的初學者,所以我不明白控制流是從控制器類到training-servlet.xml,反之亦然。 contextConfigLocation的文件(訓練servlet.xml中)被解釋:如何連接Spring的contextConfigLocation xml和Controller類?

<beans:bean id="userService" class="com.my.control.UserServiceImpl" /> 
<beans:bean name="/userRegistration.htm" class="com.my.control.HomeController"> 
    <beans:property name="validator"> 
     <beans:bean class="com.my.validations.HomeValidations" /> 
    </beans:property> 
    <beans:property name="userService" ref="userService"></beans:property> 
    <beans:property name="formView" value="userForm"></beans:property> 
    <beans:property name="successView" value="userSuccess"></beans:property> 
</beans:bean> 
<beans:bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <beans:property name="prefix" value="/WEB-INF/jsp/" /> 
    <beans:property name="suffix" value=".jsp" /> 
</beans:bean> 

我的控制器類擴展SimpleFormController是:

public class HomeController extends SimpleFormController {  
    private UserService userService; 
    public HomeController() { 
     setCommandClass(User.class); 
     setCommandName("user"); 
    } 
    public void setUserService(UserService userService) { 
     this.userService = userService; 
    } 
    protected ModelAndView onSubmit(Object command) throws Exception { 
     System.out.println("Hai Inside"); 
     User user = (User) command; 
     userService.add(user); 
     return new ModelAndView("userSuccess","user",user); 
    }  
} 

請幫我瞭解流量在於模型和控制器之間。

+0

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller – ant

回答

2

XML僅在啓動時使用。 Spring使用你的配置文件來創建其中指定的每個bean的實例,並連接它的依賴關係。這意味着一旦你在web容器中啓動webapp,控制器的userService字段就會被應用程序上下文提供的bean填充。 Spring MVC進一步處理將HttpServletRequest轉換爲控制器bean中的onSubmit()方法 的方法調用。

因此,從控制器到XML文件確實沒有流量,而是從一個bean到另一個bean。

相關問題