项目配置文件基本结构
项目通过Tomcat启动首先加载的是web.xml,在web.xml中分别加载spring-context.xml、datasource.xml、spring-mvc.xml三个配置文件
spring-context.xml:加载springmvc控制器和fileConfigs.properties,在fileConfigs.properties文件中配置了各个文件路径,路径是从最外层pom.xml中配置的
datasource.xml:该文件配置数据库链接池,数据库连接信息是从datasource.properties中获取的,该文件中的内容也是从最外层pom.xml配置中获取的
该文件还配置了SqlSessionFactory用于加载创建数据会话工厂,并且配置了mapper的xml文件的所在路径,并注入了mybatisConfiguration.xml
注入全局配置
配置mapper扫描器,用于扫描dao层接口
全局事务配置
针对MyException做AOP切面配置
mybatisConfiguration.xml:配置了打印查询语句,字段为空也返回字段
spring-mvc.xml:从system.properties中读取信息
配置扫描controller层
配置注解驱动转换规则
文件上传的配置
拦截器的配置,除做了设置的路径不进行拦截,其他的都需要先走拦截器TokenInterceptor(用于判断用户是否登录)
日志的应用
通过自定义注解@Logs()标注在方法上,设置title和typeLog,再通过ContorllerLogs类,把该类标注为切面程序@aspect,对每个方法加了@Logs注解的进行切面编程,进而写入日志表
ControllerLogs切面类:请求时判断授权,如果没有授权,直接不让进
通过下面的方法设置切面
@Pointcut(“execution(* com.gishere.a0001.client.controller…*(…))”)
public void controllerLogs() {
}
通过下面的注解设置切面的环绕方式
@Around(“controllerLogs()”)
在该方法中获取请求路径来判断是否过滤,通过登录账号的角色和请求路径查询出是否有权限,有则来调用该方法
Java中boolean类型的属性可以与数据库中的tinyint类型对应:
查询的时候,tinyint字段中的0,1会自动转化成false,true存到boolean属性中
新增时,boolean属性false,true会自动转化成0,1存储到tinyint[1]字段中
实体类
UUIDUtil.getUuid()通过这个来设置主键
实体类中字段存在,数据库中不存在
@TableField(exist = false)
json转list方法JSONObject.parseObject(json, List.class);