摘要:Thymeleaf常用标签 th:each Handler: @GetMapping("/each")public ModelAndView each(){ List<User> list = Arrays.asList( new User(1,"张三"), new User(2,"李四") );
阅读全文
摘要:Spring Boot 整合Thymeleaf模板 Thymeleaf是目前较为流行的视图层技术,Spring Boot官方推荐使用Thymeleaf。 什么是Thymeleaf Thymeleaf 是一个支持原生HTML文件的java模板,可以实现前后端分离的交互方式,即视图与业务数据分开相应,可
阅读全文
摘要:Spring Boot整合JSP jsp:Java Server Page,是java提供的一种动态网页技术,底层是servlet,可以直接在HTML中插入java代码 JSP底层原理 JSP是一种中间层组件,开发者可以在这个组件中将java代码与HTML代码进行整合,由JSP引擎将组件转换为Ser
阅读全文
摘要:Spring Boot Spring Boot是一个快速开发框架,可以迅速搭建一套基于Spring框架体系的应用,是Spring Cloud的基础。 javaConfiguration用java类替代xml的配置方式。 Spring Boot开启了各种自动装配,从而简化代码的开发,不需要
阅读全文
摘要:Mybatis动态SQL 使用动态SQL可以简化代码的开发,减少开发者的工作量,程序可以自动根据业务参数来决定SQL的组成 if标签 <select id="findAll" resultType="com.southwind.entity.Account"> select * from t_acc
阅读全文
摘要:Mybatis缓存 什么是Mybatis缓存? 使用缓存可以减少java应用与数据库的交互次数,从而提升程序的运行效率。比如查询id=1的对象,第一次查询出来后会自动将该对象保存到缓存中,当下一次查询时,直接从缓存中取出对象即可,无需再次访问数据库。 Mybatis缓存分类 1.一级缓存:SqlSe
阅读全文
摘要:Mybatis逆向工程 Mybatis框架需要:实体类,自定义Mapper接口,Mapper.xml 传统的开发中上述的三个组件都需要开发者手动创建,逆向工程可以帮助开发者自动创建三个组件,提高效率 如何使用? Mybatis Generator,简称MBG,是一个专门为Mybatis框架开发者
阅读全文
摘要:Mybatis开发之mapper代理实现自定义接口(常用) 通过mapper代理实现自定义接口 自定义接口,接口里面定义定义相关的业务方法 编写方法相对应的Mapper.xml、 定义完接口后,Mapper会自动帮我们生成实现类和对象。 1.自定义接口 package com.southwind.r
阅读全文
摘要:Mybatis ORMapping:Object Reationship Mapping对象关系映射 对象指面向对象 关系指关系型数据库 java到Mysql的映射,开发者可以用面向对象的思维来管理数据库。 简单来说,mybatis是一个实现了数据持久化的开源框架,简单理解就是对jdbc进行封装。
阅读全文
摘要:Spring MVC文件上传下载 单文件上传 底层是使用Apache fileupload 组件完成上传,Spring MVC对这种方式进行封装。 pom.xml <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a
阅读全文
摘要:Spring MVC REST REST:Representtational State Transfer ,资源表现层状态转换,是目前比较主流的一种互联网架构,它结构清晰,标准规范,易于理解,便于扩展。 资源(resource) 网络上的一个实体,或者说网络中存在的一个具体信息,一段文本,一张图片
阅读全文
摘要:Spring MVC自定义数据转换器 数据转换器是指将客户端HTTP请求中的参数转换为业务方法中定义的形参,自定义表示开发者可以自护照设计转换的方式,HandlerAdapter已经提供了通用的转换,String转int,String转double,表单数据的封装等,但是在特殊业务场景下,Handl
阅读全文
摘要:SpringMVC模型数据解析 jsp四大作用域对应的内置对象:pageContext,request,session,application. 模型数据的绑定是由ViewResolver来完成的,实际开发过程中,我们需要先添加模型数据,再交给·ViewResolver来绑定。 Spring
阅读全文
摘要:SpringMVC数据绑定 使用JavaBean绑定参数 Spring MVC会根据请求参数名和JavaBean属性名进行自动匹配,自动为对象填充属性值,同时支持级联属性 package com.soutwind.entity; import lombok.Data; @Data public cl
阅读全文
摘要:SpringMVC数据绑定 使用JavaBean绑定参数 Spring MVC会根据请求参数名和JavaBean属性名进行自动匹配,自动为对象填充属性值,同时支持级联属性 package com.soutwind.entity; import lombok.Data; @Data public cl
阅读全文
摘要:SpringMVC注解 @RequestMapping Spring MVC通过@RequestMapping注解将URL请求与业务方法进行映射,在Handler的类定义处以及方法定义处都可以添加@RequestMapping,在类定义处添加,相当于客户端多了一层访问路径。 @Controller
阅读全文
摘要:SpringMVC Spring MVC是目前主流的实现MVC设计模式的框架,相当于Spring的一个子模块。 Spring MVC以Spring Ioc容器为基础,利用容器特性简化它的配置。 MVC模式:即把应用程序分为三层,controller,view和model层。controller接收用
阅读全文
摘要:AOP AOP:Aspect Oriented Programming面向切面编程 AOP的优点: 降低模块之间的耦合度 使系统更容易扩展 更好的代码复用 非业务代码更加集中,便于统一管理 业务代码更简洁,不掺杂其他代码影响 AOP是面向对象编程的一个补充,在运行时,动态的将代码切入到指定方法,指定
阅读全文
摘要:Spring工厂方法 IOC通过工厂模式创建bean方式有两种 静态工厂方法 实例工厂方法 静态工厂方法 实体类: package com.soutchwind.entitiy;import lombok.AllArgsConstructor;import lombok.Data;import l
阅读全文
摘要:ioC特性 通过有参构造创建bean 首先在实体类中创建对应的有参构造函数 配置文件中有参构造的bean标签 <bean id="student3" class="com.soutchwind.entitiy.Student"> <constructor-arg name = "id" value=
阅读全文
摘要:Spring框架 两大核心机制(ioc(控制反转)/DI(依赖注入),和AOP(面向切面编程)) Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,提供各个层面的解决方案。开发者可以自由选择组件,相当于底层的一个容器。 MVC层:Struts2,Spring
阅读全文
摘要:Service实现转账流程 在数据库创建一个表account,用来存储账户数据 Dao层实现修改和查询单个的方法 service层通过对Dao层方法的多次调用实现转账功能。 实体类Account: package com.qf.account;/** * 创建一个实体类,类名等于表名,属性名等于列名
阅读全文
摘要:Service业务逻辑层 业务逻辑层代表用户完成的一个功能,有一个或多个Dao的调用组成。一个功能可能需要多个数据库操作,就要多个Dao层的方法。 软件提供的每一个功能都叫业务,比如转账(包括存款和取款两个方法) 业务层: package com.qf.person;public class Pe
阅读全文
摘要:DateUtils日期工具类的封装 1.字符串转化为util.Date 2.util.Date转化为sql.Date 3.util.Date转化为字符串样式 package com.qf.person; import java.text.ParseException; import java.tex
阅读全文
摘要:Date工具类 现有问题:数据库存储的日期数据类型为java.sql.date,而我们java应用层存储日期为java.util.Date,当我们用java应用程序插入带有日期的数据到数据库中时,需要数据转换. 1.java.util.date java语言常规应用层的日期数据,可以通过字符串创建相
阅读全文
摘要:DAO层 DAO数据访问对象(Data Access Object) DAO实现了业务逻辑与数据库访问相分离 DAO只实现对数据库的访问操作 对同一张表的所有操作封装在XxxDaoImpl对象中 根据增删改查的不同功能实现具体的方法(insert,update,delete,select,selec
阅读全文