春+ SpringMvc + MyBatisの統合業務章IV + +ユニットテストケース
githubの源码(day56-SSM-トランザクション)https://github.com/1196557363/ideaMavenProject
いくつかの知識は、参照を理解することはできません] SSMは、記事を統合する。春+ SpringMvc + MyBatisの単純なケースを
章に接続された場合[SSM]統合三条。SSM統合+ +ユニットテストケース総務第三章(4章)
8春と統合SpringMVC
8.1定義コントローラ
package com.wpj.web.controller;
import org.springframework.stereotype.*;
/**
* ClassName: Controller
* Description:
*
* @author JieKaMi
* @version 1.0
* @date: 2020\1\8 0008 21:55
* @since JDK 1.8
*/
@Controller
@RequestMapping("/emp")
public class EmpController {
}
8.2 springmvc.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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 开启包扫描-->
<context:component-scan base-package="com.wpj" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 开启注解驱动-->
<mvc:annotation-driven/>
<!-- 配置thymeleaf的视图解析器-->
<bean id="templateResolver"
class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"> <!--前缀配置-->
<property name="prefix" value="/"></property> <!--后缀配置-->
<property name="suffix" value=".html"></property> <!--模板类型-->
<property name="templateMode" value="HTML"></property> <!--不使用缓存-->
<property name="cacheable" value="false"></property> <!--编码类型-->
<property name="characterEncoding" value="UTF-8"></property>
</bean>
<!--模板引擎配置-->
<bean id="templateEngine" class="org.thymeleaf.spring5.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver"></property>
</bean>
<!--视图处理器-->
<bean class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine"></property>
<property name="characterEncoding" value="UTF-8"></property>
</bean>
<!-- 静态资源文件处理-->
<mvc:default-servlet-handler/>
</beans>
8.3 web.xmlの構成
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Archetype Created Web Application</display-name>
<!-- Filter-->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- lsiteneter-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-context.xml</param-value>
</context-param>
<!-- 在Tomcat启动的时候初始化Spring容器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Servlet-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 优先级-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
パスをマップする8.4コントローラの書き込み
package com.wpj.web.controller;
import com.wpj.bean.*;
import com.wpj.service.*;
import org.springframework.beans.factory.annotation.*;
import org.springframework.stereotype.*;
import org.springframework.ui.*;
import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* ClassName: Controller
* Description:
*
* @author JieKaMi
* @version 1.0
* @date: 2020\1\8 0008 21:55
* @since JDK 1.8
*/
@Controller
@RequestMapping("/emp")
public class EmpController {
@Autowired
private IEmpService iEmpService;
@RequestMapping("/getAllEmp")
public String getAllEmp(ModelMap map){
List<Emp> empList = iEmpService.getAllEmp();
map.put("empList",empList);
return "list";
}
}
8.5ファイル名を指定して実行
http://localhost:8080/emp/getAllEmp
emp ⇒ controller映射路径
getAllEmp ⇒ controller内定义方法映射路径