Web框架
弱水三千、先干为敬
这个作者很懒,什么都没留下…
展开
-
MyBatis配置、实现Mysql数据库的crud
1、MyBatis简介MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。2、MyBatis配置...原创 2019-08-29 08:56:01 · 188 阅读 · 0 评论 -
Spring事务(Transactions)的原理与实现
1、事务1.1 什么是事务?事务是用户定义的数据库操作的集合,这些操作作为一个完整的有机工作单元,要么全部正确执行,要么全部不执行。四大特性:(1)原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。(2)一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。(3)隔离性(...原创 2019-09-06 17:01:54 · 5702 阅读 · 0 评论 -
SpringMVC执行流程及基本配置
1、Spring MVC 简介什么是Spring MVC?MVC框架,它解决WEB开发中常见的问题(参数接收、页面跳转 、文件上传、表单验证、国际化、等等),而且使用简单,与Spring无缝集成。(替代servlet层)Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架 (更安全,性能更好,更简单)。支持 RESTful风格的 URL 请求 。采用了松散耦合可插...原创 2019-09-08 19:39:51 · 265 阅读 · 0 评论 -
SpringMVC响应传值、请求传参的实现
1、SpringMVC 响应传值方式SpringMVC如何从服务器传数据到浏览器?共四种方式1.1 Controller方法的返回值类型为void(鸡肋)在Controller方法形参上可以定义request和response,使用request或response指定响应结果:使用request请求转发页面:request.getRequestDispatcher(“页面路径”).f...原创 2019-09-09 19:23:36 · 318 阅读 · 0 评论 -
SpringMVC处理乱码及日期类型问题
1、处理中文乱码问题在web.xml中配置编码过滤器<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...原创 2019-09-09 19:47:36 · 222 阅读 · 0 评论 -
SpringMVC实现文件的上传和下载
1、文件上传1.1 导入依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></depen...原创 2019-09-09 21:11:28 · 258 阅读 · 0 评论 -
SpringMVC拦截器原理及实现
1、拦截器概念Spring MVC 的拦截器类似于Servlet 开发中的过滤器Filter,用于对Controller进行预处理和后处理。2、使用SpringMVC拦截器步骤:2.1 新建拦截器类拦截器方法的执行时机:1):preHandle:控制器方法执行之前执行,返回结果为true表示放行,如果返回为false,表示拦截(可以做权限拦截,登录检查拦截).2):postHandl...原创 2019-09-10 16:25:17 · 2938 阅读 · 0 评论 -
Spring整合MyBatis的原理及实现
1、整合原理我们要将MyBatis配置整合到Spring的配置文件中;MyBatis配置文件中配置了: 数据源、别名、mapper映射文件,延迟加载此时要将(数据源、别名、mapper映射文件)配置写入到Spring的配置文件中,所以mybatis配置文件中只写类的延时加载。Spring配置文件中新配置sqlSessionFactory对象,以及UserMapper对象(两种方式)整合...原创 2019-09-13 16:01:56 · 989 阅读 · 0 评论 -
Spring整合SpringMVC的原理与实现
1、整合原理在SpringMVC配置文件中配置MVC注解解析器、静态资源页面放行、视图解析器、拦截器在web.xml中配置SpringMVC的前端控制器、MVC的编码过滤器在SpringMVC配置文件中引入Spring的配置文件Spring配置文件照常配置2、整合实现2.1 SpringMVC配置文件(springmvc.xml)<?xml version="1.0" en...原创 2019-09-13 16:24:45 · 1192 阅读 · 1 评论 -
SSM三大框架实现用户管理系统(源代码及实现步骤)
第一步:项目准备此系统是使用IDEA开发,在maven框架上实现的1.1 项目结构创建bean包,存放用户实体类User;创建controller包,存放SpringMVC的控制类(servlet),登录检查类和用户控制类;创建interceptors包,存放登录检查的拦截器类;创建mapper包,存放Mybatis的用户接口类;创建pagingquery包,存放分页查询的逻辑类及...原创 2019-09-14 19:54:13 · 6208 阅读 · 3 评论 -
Mybatis使用Redis替代二级缓存
1、案例介绍将Mybatis查询数据库的结果,以键值对的形式存入Redis数据库,替代了Mybatis中的二级缓存。查询同样操作时,可以直接去Redis中读取结果,提高效率。2、案例实现2.1 导入项目依赖<!--redis依赖--> <dependency> <groupId>redis.clients</groupId>...原创 2019-09-18 17:21:45 · 2765 阅读 · 0 评论 -
Solr搜索引擎(启动与配置)
1.概念1.1 什么是搜索引擎将数据进行分词, 建立索引, 将索引数据保存到索引库当中, 然后当用户进行搜索的时候, 将用户输入的关键字, 进行分词, 将分词后的数据到索引库中进行查询, 得到文档的id, 根据文档id获取文档的数据。1.2 什么是solrsolr是一个独立的企业级搜索应用服务器, 用户可以通过http请求访问这个服务器, 获取或者写入对应的内容, 其底层是Lucene。...原创 2019-09-22 19:55:38 · 324 阅读 · 0 评论 -
Solr+java实现索引库增删改查
1 了解solr的配置文件1.1 solr的核心配置文件:solrConfig.xmlsolrconfig.xml 配置文件主要定义了 solr 的一些处理规则,包括索引数据的存放 位置,更新,删除,查询的一些规则配置。 一般此文件不需要进行修改, 采取默认即可。(1) field标签主要是用来指定字段名称的, Lucene中是有用户在程序中指定, solr中需要提前在配置文件中指定&...原创 2019-09-22 20:27:16 · 2560 阅读 · 0 评论 -
Spring JDBC的原理与实现
1、简介1.1 为什么使用Spring框架中的JDBC?1.2 使用Spring JDBC需要使用的模板类2、实现2.1 准备依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3....原创 2019-09-06 08:51:04 · 916 阅读 · 0 评论 -
Spring框架AOP原理及实现
1、AOP思想1.1 什么是AOPAspect oritention programming(面向切面编程),把一个个的横切关注点(这些零散存在于业务方法中的功能代码,我们称之为横切面关注点)放到某个模块中去,称之为切面。那么每一个的切面都能影响业务的某一种功能,切面的目的就是功能增强,如日志切面就是一个横切关注点,应用中许多方法需要做日志记录的只需要插入日志的切面即可。这种面向切面编程的思想...原创 2019-09-05 19:15:44 · 460 阅读 · 0 评论 -
Maven使用教程(快速搭建)
1、Maven简介Maven是一个跨平台的项目管理工具.可以管理项目生命周期中的构建(编译,运行测试,打包,部署等)和项目的依赖(jar包),以及管理项目各个模块之间的依赖关系。1.1 项目开发遇到的问题(1)项目构建:包括编译,运行测试,打包,部署,运行服务器等一系列操作,每个过程都相当繁琐。(2)项目依赖:项目越来越大,需要的第三方工具包越来越多,第三方工具包又需要依赖其他维护项目的依...原创 2019-08-26 21:23:05 · 189 阅读 · 0 评论 -
maven插件maven-resources-plugin的使用教程
1、概念maven中默认只能读取resources文件夹下的资源,如果要读取其他路径下的资源文件,那么就需要用到maven-resources-plugin这一插件2、配置(1)在maven配置文件pom.xml中导入插件 <plugin> <groupId>org.apache.maven.plugins</groupId> ...原创 2019-08-29 21:00:55 · 12204 阅读 · 2 评论 -
Mybatis实现Mapper接口
1、概念Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao层接口,替代Dao层功能),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。(1)使用接口的好处:Mapper接口的方式,不用写接口实现类,直接完成数据库操作,简单方便。(2)mapper映射文件的规范::1.mapper映射文件中的namespace的值,必须...原创 2019-08-29 21:25:07 · 1444 阅读 · 0 评论 -
Mybatis动态Sql的全部实现
1、概念(1)什么是动态SQL?MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。(2)动态SQL的作用?传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候...原创 2019-08-30 08:58:45 · 172 阅读 · 1 评论 -
Mybatis多表联合查询(多对一和一对多)
1、多对一查询1 准备工作(1)数据表准备这里以员工表和部门表举例,多个员工对应一个部门。在多的一方建立外键,来存储部门id号(无需在navicat中设置外键,会影响查询效率)(2)项目层级结构:(3)实体类准备2 额外查询**额外sql的查询方式,通过association标签获取到另一个sql语句查询回来的结果**association:处理单一的关联对象prop...原创 2019-09-01 10:55:16 · 1375 阅读 · 2 评论 -
Mybatis多表联合查询(多对多)
1、多对多查询1 准备工作(1)数据表准备:以老师表和学生表举例(多对多关系需要创建一个中间关系表)(2)实体类准备2 额外查询这里使用额外查询和关联查询都可以。可以通过学生表查询老师表,也可以通过老师表查询学生;这里以学生表查询老师表为例。(1)在学生表对应的mapper映射文件中,写入代码:<resultMap id="map1" type="com.ujy.m...原创 2019-09-01 20:38:24 · 532 阅读 · 0 评论 -
Mybatis开启一级、二级缓存
1、缓存(1)概念:在内存中开辟的一个区域,用于存放数据,在内存中存放的数据叫做缓存。(2)好处:内存读取速度远快于硬盘,合理利用缓存,可以极大的提高查询的效率。1.1 一级缓存一级缓存的作用域是当前的SqlSession(Mybatis中的sql对象,封装了jdbc的增删改查),但是SqlSession的生命周期比较短暂,所以一级缓存提升性能有限。1.2 二级缓存1、概念(1)什...原创 2019-09-01 20:57:54 · 1180 阅读 · 0 评论 -
Spring简介及基本配置
1、Spring简介1.1 什么是SpringSpring是一个轻量级的控制反转(IoC/DI)和面向切面编程(AOP)的开源容器框架,致力于构建轻量级的JavaEE应用,简化应用开发,本身涵盖了传统应用开发,还拓展到移动端,大数据等领域。什么是容器(Container):从程序设计角度看就是装对象的的对象,因为存在放入、拿出等操作,所以容器还要管理对象的生命周期,如Tomcat就是Serv...原创 2019-09-03 16:49:39 · 435 阅读 · 0 评论 -
Spring使用测试框架Test及log4j日志
1、概念1.1 传统的测试和使用Spring的测试框架的区别:传统测试存在问题:1,每个测试都要重新启动Spring容器,启动容器的开销大,测试效率低下。2,不应该是测试代码管理Spring容器,应该是Spring容器在管理测试代码。2、配置Test2.1 添加依赖除了Spring基础配置需要的core和beans,还需要以下依赖<!--Spring测试(test)依赖-...原创 2019-09-03 17:03:44 · 885 阅读 · 0 评论 -
Spring框架bean的实例化方式,作用域及生命周期
1、bean的实例化方式bean(类对象)的实例化方式:①.构造器实例化(无参数构造器,与构造器的访问权限无关),最标准,使用最多。②.静态工厂方法实例化:解决系统遗留问题(了解)③.实例工厂方法实例化:解决系统遗留问题(了解)④.实现FactoryBean接口实例化:实例工厂变种:集成其他框架使用:SqlSessionFactoryBean这里重点介绍第一种和第四种方式!1.1 构...原创 2019-09-03 17:30:48 · 386 阅读 · 0 评论 -
Spring框架IoC/DI原理及实现
1、概念IoC:指将对象的创建权,交给到Spring容器;DI :指Spring创建对象的过程中,将对象依赖的属性通过配置的方式自动的设值给当前的对象 。IoC/DI注解详解完成IoC/DI,有两种方式,一种是使用xml配置文件,另一种是使用注解,我们先来介绍xml方式。2、xml配置2.1 使用setter注入(推荐)Setter注入:最常用的注入方法,需要在xml配置文件中进行手...原创 2019-09-04 17:25:56 · 642 阅读 · 0 评论 -
Spring代理模式的原理与实现
1、代理概念代理模式:客户端直接使用的都是代理对象,不知道目标对象是谁,此时代理对象可以在客户端和目标对象之间起到中介的作用。1、代理对象完全包含目标对象,客户端使用的都是代理对象的方法,和目标对象没有直接关系;2、代理模式的职责:把不是目标对象该做的事情从目标对象上撇开——职责清晰;静态代理:在程序运行前就已经存在代理类的字节码文件,代理对象和目标对象的关系在运行前就确定了。动态代理...原创 2019-09-05 17:27:51 · 1556 阅读 · 0 评论 -
SpringTask定时器
1 概念SpringTask是spring3.0后自主提供的定时任务的工具, spring-task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式。这里主要介绍SpringTask的使用方式2 xml配置方式1.添加task命名空间2.Spring创建任务所在的类型的对象,配置定时任务(在spring主配置...原创 2019-09-24 19:49:44 · 252 阅读 · 0 评论