gpt4 book ai didi

spring基础mvc示例应用,注解扫描混淆

转载 作者:行者123 更新时间:2023-12-02 11:43:34 25 4
gpt4 key购买 nike

有点困惑,基本的 spring mvc 应用程序有这个:

应用程序配置.xml

<context:component-scan base-package="org.springframework.samples.mvc.basic" />

mvc-config.xml 有:

<!-- Configures the @Controller programming model -->
<mvc:annotation-driven />
  1. 您真的需要两者吗?

  2. 对于组件扫描,这是否意味着如果我没有放置正确的包路径,我的 @Controller 和 @Service 标记将不起作用?如果我需要多个包,我是否只需重复该条目?

我尝试仅使用 mvc:annotation-driven 但这不起作用,我必须将 com.example.web.controllers 放入组件扫描 xml 节点中才能使其工作。

最佳答案

上下文:组件扫描很清楚

Scans the classpath for annotated components that will be auto-registered as Spring beans. By default, the Spring-provided @Component, @Repository, @Service, and @Controller stereotypes will be detected.

所以@Controller只是一个Spring bean。没有别的了。

还有

mvc:注解驱动

registers the HandlerMapping and HandlerAdapter required to dispatch requests to your @Controllers

类似于

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

如果我需要多个包,我是否只需重复该条目?

只要你愿意,就可以。 context:component-scan 只是一个 Bean 后处理器

<context:component-scan base-package="br.com.app.view.controller"/>
<context:component-scan base-package="br.com.app.service"/>

或者

Use a comma-separated list of packages to scan for annotated components.

<context:component-scan base-package="br.com.app.view.controller,br.com.app.service"/>

关于spring基础mvc示例应用,注解扫描混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3154586/

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