SpringMVCа также - PullRequest
       2

SpringMVCа также

0 голосов
/ 24 мая 2018

У меня есть демо Spring + SpringMVC, я не могу понять, как использовать <mvc:annotation-driven/>, когда у меня есть <context:component-scan base-package="com.jiehang.spring.controller" без <mvc:annotation-driven/> в spring-mvc.xml.Проект также может быть запущен, если так, зачем нам писать <mvc:annotation-driven/> в spring-mvc.xml?Любой может ответить мне, пожалуйста.Спасибо

web.xml

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
    </context-param>

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

spring-mvc.xml:

<context:component-scan base-package="com.jiehang.spring.controller" />
<!-- <mvc:annotation-driven /> -->
<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

spring.xml:

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="jdbc:oracle:thinXXX" />
        <property name="username" value="XXX" />
        <property name="password" value="XXX" />
    </bean>

    <bean id="tsmCountsService" class="com.jiehang.spring.service.impl.TsmCountsServiceImpl">
        <property name="tsmCountsDao" ref="tsmCountsDao" />
    </bean>

    <bean id="tsmCountsDao" class="com.jiehang.spring.dao.impl.TsmCountsDaoImpl">
        <property name="dataSource" ref="dataSource" />
    </bean>

Контроллер:

@Controller
public class FundController {

    @Autowired
    private TsmCountsService tsmCountsService;

    public TsmCountsService getTsmCountsService() {
        return tsmCountsService;
    }
    public void setTsmCountsService(TsmCountsService tsmCountsService) {
        this.tsmCountsService = tsmCountsService;
    }


    @RequestMapping("/queryFund")
    public ModelAndView queryFundByFundId() {
        List<TsmCounts> funds = tsmCountsService.queryUser();
        System.out.println(funds);
        return null;
    }

}

Когда я ввожу URL: http://localhost:8080/TestSpringmvc/queryFund,, я могу получить результат вывода.Таким образом, не имеет значения, если вы не пишете <mvc:annotation-driven />.

1 Ответ

0 голосов
/ 24 мая 2018

<mvc:annotation-driven /> обеспечивает поддержку управляемых аннотациями контроллеров MVC (таких как @RequestMapping и @Controller), хотя это поведение по умолчанию, а также добавлена ​​поддержка проверки с помощью @Valid и тела сообщения с помощью @ RequestBody / ResponseBody.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...