- 博客(44)
- 收藏
- 关注
原创 SSM整合
将mybatis接口代理对象的创建权交给spring管理,我们就可以把dao的代理对象注入到service中,此时也就完成了spring与mybatis的整合了。 spring配置文件管理mybatis spring整合springMVC spring和springMVC其实根本就不用整合,本来就是一家。 但是我们需要做到spring和web容器整合,让web容器启动的时候自动加载spring配置文件,web容器销毁的时候spring的ioc容器也销毁。 可以使用spring-web包中的ContextLo
2022-06-22 19:27:19
262
原创 springmvc进阶
Springmvc默认用MappingJackson2HttpMessageConverter对json数据进行转换,需要加入jackson的包;同时使用 @RequestBody 该注解用于Controller的方法的形参声明,当使用ajax提交并指定contentType为json形式时,通过 HttpMessageConverter接口转换为对应的实体类对象。 此时方法参数中加了@RequestBody注解,会自动将json数据转换为相对应的实体类集合该注解用于将Controller的方法返回的
2022-06-18 15:45:35
236
原创 SpringMVC
需求:客户端发起请求,服务器接收请求,执行逻辑并进行视图跳转。 配置SpringMVC前端控制器 DispatcherServlet 编写Controller类和视图页面 配置SpringMVC核心文件 spring-mvc.xml web工程执行流程 springmvc中的三大组件:处理器适配器,处理器适配器,视图解析器 如果在加上一个的话就是前端控制器@Controller SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到S
2022-06-18 10:15:42
276
原创 Spring_JDBCTemplate & 声明式事务
创建java项目,导入坐标 编写Account实体类 编写AccountDao接口和实现类 编写AccountService接口和实现类 编写spring核心配置文件 编写测试代码 Spring的事务 Spring中的事务控制方式 Spring的事务控制可以分为编程式事务控制和声明式事务控制。 编程式:开发者直接把事务的代码和业务代码耦合到一起,在实际开发中不用。 声明式:开发者采用配置的方式来实现的事务控制,业务代码与事务代码实现解耦合,使用的AOP想。 编程式事
2022-06-15 21:24:15
194
原创 Spring_AOP
使用spring框架整合DBUtils技术,实现用户转账功能 编写Account实体类 编写线程绑定连接工具类 编写事务管理器 JDK动态代理方式 CGLIB动态代理方式 编写AccountDao接口和实现类 编写AccountService接口和实现类 编写spring核心配置文件 编写测试代码 常用的动态代理技术AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法
2022-06-12 16:31:44
157
原创 Spring
需求:实现service层与dao层代码解耦合 步骤分析: 编写Dao接口和实现类 编写Service接口和实现类 编写测试代码 问题 当前service对象和dao对象耦合度太高,且每次new的都是一个新的对象,导致服务器压力过大。 解耦合的原则是编译期不依赖,而运行期依赖就行了 编写beans.xml 把所有需要创建对象的信息定义在配置文件中 编写BeanFactory工具类 修改UserServiceImpl实现类 小结 升级后的BeanFactory就是
2022-06-11 10:48:41
127
原创 Mybatis加载策略及注解开发
MyBatis加载策略 延迟加载 在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。 当有一个用户,它有个100个订单 在查询用户时,用户下的订单应该是,什么时候用,什么时候查询。 在查询订单时,订单所属的用户信息应该是随着订单一起查询出来。 优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联询多张表 速度要快。 缺点:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作要消耗时 间,所以可能造成用户等
2022-05-31 20:37:11
394
原创 Mybatis
Mybatis简介 MyBatis是一个优秀的基于ORM的半自动轻量级持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码 MyBatis 本是apache的一个开源项目iBatis, 2010年6月这个项目由apache software foundation 迁移到了google code,随着开发团队转投到Google Code旗下,
2022-05-28 22:25:25
981
原创 Vue.js
Vue.js 介绍 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计 为可以自底向上逐层应用。 Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一 方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 自底向上逐层应用:作为渐进式框架要实现的目标就是方便项目增量开发(即插即用)。 官方网站: https://cn.vuejs.org/v2/guide/ 作者
2022-05-15 13:57:58
996
原创 Linux常用命令
目录结构 目录名称 功能 /bin binarie:存放二进制可执行文件 (例如tomcat的bin目录) /sbin super binaries:存放二进制文件,只有root用户才能访问 /boot 系统启动核心目录,存放系统启动程序文件,例:查看启动文件的大小 /dev devices:用于存放硬件设备文件 /etc etcetera:存放系统配置文件(字体文件等) /home 家目录,每一个用户都有一个”家”,用户的起始目录,创建用户跟随创建相应的家目录 /
2022-05-03 11:45:02
534
原创 Filter+Listener核心技术
Filter过滤器 Filter本意为”过滤“的含义,是JavaWeb的三大组件之一,三大组件为:Servlet、Filter、Listener。 过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件。 过滤器相当于浏览器与Web资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求进行修改、判断以及拦截等,也可以对响应进行修改、判断以及拦截等 使用方式 自定义类实现Filter接口并重写doFilter方法。 public class LoginFilter imple
2022-05-02 16:05:03
196
原创 EL和JSTL核心技术
EL表达式(熟悉) EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。 主要功能 依次访问pageContext、request、session和application作用域对象存储的数据。 获取请求参数值。 访问Bean对象的属性。 访问集合中的数据。 输出简单的运算结果。 访问内置对象的数据 访问方式 <%=request.getAttribute(“ varName”)%> 用EL实现: ${ varName }
2022-05-01 21:36:26
136
原创 JSP技术
JSP的概述 JSP是Java Server Pages的简称,跟Servlet一样可以动态生成HTML响应, JSP文件命名为xxx.jsp。 与Servlet不同,JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容。 示例 <%@ page import="java.util.Date" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> &
2022-05-01 13:51:53
468
原创 Servlet核心技术(上)
基本概念 C/S架构的概念 C/S架构(Client/Server,客户端/服务器模式),是一种比较早的软件体系结构,也是生活中很常见的结构。这种结构将需要处理的业务合理地分配到客户端和服务器端,客户端通常负责完成与用户的交互任务,服务器通常负责数据的管理。 C/S架构的主要优点如下: 1.客户端的界面和功能可以很丰富。 2.应用服务器的负荷较轻。 3.响应速度较快。 C/S架构的主要缺点如下: 1.适用面窄,用户群固定。 2.维护和升级的成本高,所有的客户端都需要更新版本。 B/S架构的概念 B/S
2022-04-09 20:04:28
161
原创 Bootstrap
bootstrap简介 什么是Bootstrap? Bootstrap来自 Twitter,是目前最受欢迎的响应式前端框架。 Bootstrap是基于 HTML、CSS、JavaScript的,它简洁灵活,使得 Web 开发更加快捷。 为什么使用 Bootstrap? 移动设备优先:自 Bootstrap3 起,框架包含了贯穿于整个库移动设备优先的样式。 不是简单的增加一些可选的针对移动设备的样式,而是直接融合进了框架的内核中。 也就是说,针对移动设备的样式融合进了框架的每个角落,而不是增加一个额外
2022-04-05 20:52:28
278
原创 ECMAScript6
ECMAScript6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。 它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 ECMAScript 和 JavaScript 的关系 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准 ECMA 发布 262 号
2022-04-05 15:28:43
304
原创 【jQuery】
jQuery介绍 jQuery由美国人John Resig(约翰·莱西格)于2006年创建 jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装 它的设计思想是write less,do more 实现隔行变色效果,JavaScript要循环加判断,而jQuery只需一句关键代码 jQuery能做什么? 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新的jQuery插件 与Ajax技术完美结合 jQuery能做的JavaScript也都能做,
2022-04-05 11:19:13
1560
原创 【NIO】
什么是NIO IO回顾 IO:Input OutPut(输入 输出) IO技术的作用:解决设备和设备之间的数据传输问题 IO的应用场景:图片上传、下载、打印机打印信息表、解析XML… 概念 即 Java New IO 是1个全新的、 JDK 1.4后提供的 IO API Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO 作用 NIO和IO有相同的作用和目的,但实现方式不同 可替代 标准Java IO 的IO API IO是以流的方式处理数据,而NIO是以块
2022-03-27 22:41:17
744
原创 【Java8的新特性】
函数式接口 函数式接口主要指只包含一个抽象方法的接口,如:java.lang.Runnable、java.util.Comparator接口等。 Java8提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错。 Java8中增加了java.util.function包,该包包含了常用的函数式接口,具体如下: 接口名称 方法声明 Consumer void accept(T t) 根据指定的参数执行操作 Supplier T get(
2022-03-27 11:45:40
146
原创 【JavaScript】
JavaScript介绍 虽然是java作为前缀,但java和javascript的关系,就像老婆和老婆饼之间的关系,没有一毛钱关系! 网景公司在Netscape2.0首先推出了JavaScript JavaScript 的正式名称是 “ECMAScript”,此标准由 ECMA 组织发展和维护,简称“js” JavaScript 是一种网页编程技术,用来向 HTML 页面添加交互行为 JavaScript 是一种基于对象和事件驱动的解释性脚本语言,直接嵌入 HTML 页面,由浏览器解释执行代码,不进行预
2022-03-26 20:30:40
486
原创 【css】
css介绍 CSS是指层叠样式表 cascading style sheets 通过CSS可以让我们定义HTML元素如何显示。 CSS可以让我们原本HTML不能描述的效果,通过CSS描述出来。 通过CSS描述我们的html页面,可以让我们的页面更加漂亮,可以提高工作效率。 CSS与HTML结合方式 第一种方式 内联/行内样式 在我们的HTML标签上通过style属性来引用CSS代码。 <div style="color:red">我爱中国</div> 优点:简单方便 ; 缺点:
2022-03-20 21:13:27
340
原创 【html】
HTML的使用 文件标签 <html> 标签: 代表当前书写的是一个HTML文档 <head> 标签:存储的本页面的一些重要的信息,它不会显示 <head> 标签:有一个子标签<title>它是用于定义页面的标题的 <body> 标签:书写的内容会显示出来 <body> 标签的属性 text 用于设置文字颜色 bgcolor 用于设置页面的背景色 background 用于设置页面的背景图片 <!DOCTYPE html&g
2022-03-20 12:12:20
631
原创 【XML】
XML基本介绍 XML即可扩展标记语言(Extensible Markup Language) W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。 可扩展的, 标签都是自定义的 语法十分严格 XML的作用 功能 说明 存储数据 通常,我们在数据库中存储数据。不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中 配置文件 作为各种技术框
2022-03-19 16:01:36
707
原创 【数据库连接池&DBUtils】
数据库连接池 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池. 用池来管理Connection,这样可以重复使用Connection。 当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池。 Java为数据库连接池提供了公共的接口:javax.
2022-03-16 21:48:36
455
原创 【MySQL_JDBC】
JDBC JDBC(Java Data Base Connectivity) 是 Java 访问数据库的标准规范.是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范. JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。 JDBC就是由sun公司定义的一套操作所有关系型数据
2022-03-13 15:06:53
264
原创 【MySQL索引&视图&存储过程】
MySQL 索引 在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。 如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字 常见索引分类 索引名称 说明 主键索引 (primary key) 主键是一种唯一性索引,每个表只能有一个主键, 用于标识数据表中的每一条记录 唯一
2022-03-12 22:18:19
271
原创 【MySQL多表&外键&数据库设计】
多表 简述 实际开发中,一个项目通常需要很多张表才能完成。 例如一个商城项目的数据库,需要有很多张表:用户表、分类表、商品表、订单表… 单表的缺点 数据准备 # 创建一个数据库 db3 CREATE DATABASE db3 CHARACTER SET utf8; USE db3; -- 创建emp表 主键自增 CREATE TABLE emp( eid INT PRIMARY KEY AUTO_INCREMENT, ename VARCHAR(20), age INT , dep_nam
2022-03-09 23:07:42
480
原创 【MySql约束和事务】
SQL约束 约束的作用: 对表中的数据进行进一步的限制,从而保证数据的正确性、有效性、完整性. 违反约束的不正确数据,将无法插入到表中 常见的约束 约束名 约束关键字 主键 primary key 唯一 unique 非空 not null 外键 foreign key 主键约束 特点 :不可重复 唯一 非空 作用 :用来表示数据库中的每一条记录 添加主键约束 语法格式:字段名 字段类型 primary key # 创建一个带主键的表 # 方式一: CREATE TA
2022-03-06 19:28:31
160
原创 【MySQL增删改查】
SQL 1) 什么是SQL ? 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库 查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 2) SQL 的作用 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL 所有的关系型数据库都可以使用SQL 不同数据库之间的SQL 有一些区别 方言 SQL通用语法 1) SQL语句可以单行 或者 多行书写,以分号 结尾 ; (Sqlyog中可以不用写分号) 2) 可以使用
2022-03-06 14:24:47
222
原创 【Java-反射】
反射机制 通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制。 通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。 目前主流的框架底层都是采用反射机制实现的。 Class类 java.lang.Class类的实例可以用于描述Java应用程序中的类和接口,也就是一种数据类型。 该类没有公共构造方法,该类的实例由Java虚
2022-02-28 20:45:18
103
原创 【Java-网络编程】
七层网络模型 相关的协议 TCP协议 传输控制协议(Transmission Control Protocol),是一种面向连接的协议,类似于打电话。 建立连接 => 进行通信 => 断开连接 在传输前采用"三次握手"方式。 在通信的整个过程中全程保持连接,形成数据传输通道。 保证了数据传输的可靠性和有序性。 是一种全双工的字节流通信方式,可以进行大数据量的传输。 传输完毕后需要释放已建立的连接,发送数据的效率比较低。 UDP协议 用户数据报协议(User Datagram Protoco
2022-02-27 15:15:42
127
原创 【Java-多线程】
程序和进程的概念 1、程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件。 2、进程 - 主要指运行在内存中的可执行文件。 3、目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务,但进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限。 线程的概念 1、为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多进程的,而每个进程的内部又是支持多线程的,线程是轻量的,新建线程会共享所在进程的系统资源,因此目前主流的开发
2022-02-26 22:04:53
332
原创 【Java-IO流】
IO流 一、基本分类 1、按照读写数据的基本单位不同,分为 字节流 和 字符流。 其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。 其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。 2、按照读写数据的方向不同,分为 输入流 和 输出流(站在程序的角度)。 其中输入流主要指从文件中读取数据内容输入到程序中,也就是读文件。 其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。 3、按照流的角色不同分为节点流和处理流。 其中节点流主要指直接和输入输出源对
2022-02-26 11:40:39
191
原创 异常机制和File类
异常 1、异常就是"不正常"的含义,在Java语言中主要指程序执行中发生的不正常情况。 2、java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类。其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等。 3、其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决, 如:0作为除数等。 异常的分类 1、java.lang.Exception类是所有异常的超类,主要分为以下两
2022-02-21 22:30:13
191
原创 Java集合_泛型_Set_Map
泛型 1、通常情况下集合中可以存放不同类型的对象,是因为将所有对象都看做Object类型放入的,因此从集合中取出元素时也是Object类型,为了表达该元素真实的数据类型,则需要强制类型转换,而强制类型转换可能会引发类型转换异常。 2、为了避免上述错误的发生,从Java5开始增加泛型机制,也就是在集合名称的右侧使用<数据类型>的方式来明确要求该集合中可以存放的元素类型,若放入其它类型的元素则编译报错。 3、泛型只在编译时期有效,在运行时期不区分是什么类型。 4、泛型中有三种通配符形式: .
2022-02-20 18:06:19
228
原创 【Java集合_Collection_List_Queue】
集合的框架结构 Collection集合 java.util.Collection接口是List接口、Queue 接口以及Set接口的父接口,因此该接口里定义的方法 既可用于操作List集合,也可用于操作Queue集合和Set集合。 方法声明 功能介绍 boolean add(E e); 向集合中添加对象 boolean addAll(Collection<? extends E> c) 用于将参数指定集合c中的所有元素添加到当前集合中 boolean contains
2022-02-20 14:33:00
301
原创 Java日期相关类
System类 方法声明 功能介绍 static long currentTimeMillis() 返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差 long l = System.currentTimeMillis(); System.out.println(l); Date类 方法声明 功能介绍 Date() 使用无参的方式构造对象,也就是当前系统时间 Date(long date) 根据参数指定毫秒数构造对象, 参数为距离1970年
2022-02-19 16:17:37
241
原创 StringBuilder类和StringBuffer类
StringBuilder类和StringBuffer类 StringBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低。 StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,效率比较高。 StringBuilder类 方法声明 功能介绍 StringBuilder() 使用无参方式构造对象,容量为16 StringBuilder(int capacity) 根据参数指定的容量来构造对象,容量为参数指定大小 StringBuilder(St
2022-02-19 14:09:01
94
原创 【String类】
String类 /** * String类 * java.lang.String类用于描述字符串,Java程序中所有的字符串字面值都可以使用该类的对象加以描述,如:"abc"。 * 该类由final关键字修饰,表示该类不能被继承。 * 从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一些空间。 * String常量池 * 由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串放入常量 * 池中,若后续代码
2022-02-18 23:08:27
369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅