gpt4 book ai didi

java - Spring的contextConfigLocation xml和Controller类是怎么连接的?

转载 作者:行者123 更新时间:2023-11-30 09:33:35 24 4
gpt4 key购买 nike

我是 Spring MVC 的初学者。所以我不明白控制流是从 Controller 类到 training-servlet.xml,反之亦然。contextConfigLocation 文件(training-servlet.xml)解释为:

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

我的 Controller 类扩展了 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);
}
}

请帮助我理解模型和 Controller 之间的流程。

最佳答案

XML 仅在启动时使用。 Spring 使用您的配置文件创建其中指定的每个 bean 的实例,并连接其依赖项。这意味着一旦您在 Web 容器中启动 Web 应用程序, Controller 的 userService 字段将填充有应用程序上下文提供的 bean。 Spring MVC 更进一步处理将 HttpServletRequest 转换为 onSubmit() 方法的方法调用在你的 Controller bean 中。

所以实际上没有从 Controller 到 XML 文件的流,而是从一个 bean 到另一个的流。

关于java - Spring的contextConfigLocation xml和Controller类是怎么连接的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12089799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com