1.一般在resources下项目包下,常用的名字application.yml
在manage.src.main包下的resources包下。
web(manage)层的yml文件
#配置视图解析器 spring: profiles: active: mapper #表示当期配置文件被加载的时候,会动态关联加载application-mapper.yml文件 thymeleaf: cache: false datasource: url: jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&serverTimezone=Hongkong&connectTimeout=60000&socketTimeout=600000 username: root password: root server: port: 8082
2.在maper.src.main包下的resources包下。
maper(数据访问)层的yml文件
#连接数据库 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/oa?serverTimezone=Asia/Shanghai&characterEncoding=utf-8 username: root password: root driver-class-name: com.mysql.jdbc.Driver #扫描mapper映射文件所在的目录,扫描resources/mapper目录下所有的以.xml为后缀的文件 mybatis: mapper-locations: classpath:mapper/*.xml
3.在maper.src.main,java.com.oa.manage包下的ViewConfig类(jsp视图解析器).
package com.oa.manage.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import org.springframework.web.servlet.view.freemarker.FreeMarkerView; import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver; import org.testng.annotations.IConfigurationAnnotation; @Configuration public class ViewConfig { /** * jsp视图解析器 * @Bean的注解的意思等同于<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> * 当前类ViewConfig随着启动类ManageApp会同时被初始化, * @Bean注解的方法被自动被调用底层会执行 * InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver() * 然后把internalResourceViewResolver对象交给spring管理 * @Bean 看做是<bean></bean> */ @Bean public InternalResourceViewResolver getInternalResourceViewResolver(){ InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/jsp/"); viewResolver.setSuffix(".jsp"); viewResolver.setOrder(1); //优先级 return viewResolver; } /** * html视图解析器 * @return */ @Bean public FreeMarkerConfigurer getFreeMarkerConfigurer(){ FreeMarkerConfigurer configurer = new FreeMarkerConfigurer(); configurer.setTemplateLoaderPath("/WEB-INF/html/"); configurer.setDefaultEncoding("utf-8"); return configurer; } @Bean public FreeMarkerViewResolver getFreeMarkerViewResolver(){ FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setViewClass(FreeMarkerView.class); resolver.setSuffix(".html"); resolver.setContentType("text/html;charset=utf-8"); resolver.setOrder(0); return resolver; } }
4.在maper.src.main,java.com.oa.manage包下的ManageApp启动类。
package com.oa; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @MapperScan("com.oa.mapper") @SpringBootApplication public class ManageApp { public static void main(String[] args) { SpringApplication.run(ManageApp.class,args); } }
5.在maper.src.main包下的resources.static包下(静态文件)
6.在src.main包下的webapp包,存放html和jsp文件
7.利用Mybatis逆向工程生成实体类,实体接口,实体xml文件
实体类:在pojo.src.main,java.com.oa.pojo包下的.
实体接口:在mapper.src.main,java.com.oa.mapper包下的.
实体xml文件:在mapper.src.main.resources.mapper包下的.
8.配置jsp(动态)
点击项目结构,找到Modules,找到manage,点击+号,找到web,配置jsp。
9.启动之前需要修改一下配置。
点击编辑配置。
$MODULE_WORKING_DIR$
10.jsp配置
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); //获取当前工程的根目录 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; //项目url根目录 %> <html> <head> <base href="<%=basePath%>"> <!--这个让此文件下的路径都相对于当前工程开始-->