
Java学习路线
Java学习路线,学习Java过程的笔记
彭世瑜
记录我的工作学习笔记
展开
-
Java学习路线-66:Maven
Maven 简介版本控制工具 cvs,svn,git项目构建工具 make, ant, maven gradle1、配置文件pom.xmlproject object model2、Maven 优势跨平台服务于构建:清理,编译,测试,生成报告,打包,部署标准化封装构建过程依赖管理工具项目规范化:约定优于配置安装和配置下载地址:https://maven.apache.org/download.cgiMac 安装步骤:wget https://mirrors.tuna.ts原创 2020-06-22 21:09:04 · 768 阅读 · 0 评论 -
Java学习路线-65:整合 SSM-Spring+SpringMVC+MyBatis
整合 SSM项目结构.├── pom.xml└── src └── main ├── java │ └── com │ └── pengshiyu │ ├── controller │ │ └── UserController.java │原创 2020-06-22 21:06:26 · 720 阅读 · 1 评论 -
Java学习路线-64:SpringMVC
1、MVC 框架作用:将 url 映射到 java 类或 java 类的方法封装用户提交的数据处理请求-调用相关的业务处理-封装响应数据将响应的数据进行渲染 jsp,html,freemaker 等2、Spring MVC 是一个轻量级的基于响应的 MVC 框架3、Spring MVC 优势性能比 Struts2 好简单,便捷,易学和 Spring 无缝集成(使用 spring ioc, aop)使用约定优先于配置能够进行简单 junit 测试支持 Restful 风格异常处原创 2020-06-22 21:04:40 · 726 阅读 · 0 评论 -
Java学习路线-63:maven整合ssm-spring+struts+mybatis
项目结构.├── pom.xml└── src ├── main │ ├── java │ │ └── com │ │ └── pengshiyu │ │ ├── action │ │ │ └── UserAction.java │ │ ├── bean │ │ │ └── User.java │原创 2020-06-22 21:02:26 · 734 阅读 · 0 评论 -
Java学习路线-62:Struts2
一、Struts2 概述Struts 翻译:支柱Struts 是流行和成熟的基于 MVC 设计模式的 Web 应用程序框架POJO(Plain Ordinary Java Object)简单的 Java 对象MVC 模式模型视图控制器Model View Controller工作原理图环境二、Struts2 项目项目结构.├── pom.xml└── src ├── main │ ├── java │ │ └── com │ │原创 2020-06-22 21:00:30 · 746 阅读 · 0 评论 -
Java学习路线-61:MyBatis声明式事务
1、完整配置(1)beans.xml<?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"原创 2020-06-22 09:16:52 · 718 阅读 · 0 评论 -
Java学习路线-60:spring 整合 mybatis
整合示例1、依赖pom.xml<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version></depend原创 2020-06-22 09:10:27 · 707 阅读 · 0 评论 -
Java学习路线-59:MyBatis数据持久层框架
MyBatis 第一个程序MyBatis 是基于 Java 的数据持久层框架持久化:数据从瞬时状态变为持久状态持久层:完成持久化工作的代码块 DAO简而言之:MyBatis 将数据存入数据库中,从数据库中取数据通过框架可以减少重复代码,提高开发效率MyBatis 是一个半自动化的 ORM 框架Object Relationship Mapping文档:https://mybatis.org/mybatis-3/zh/index.html1、依赖<!-- https://mvnr原创 2020-06-21 18:37:26 · 797 阅读 · 0 评论 -
Java学习路线-58:AOP面向切面编程
AOP 面向切面编程AOP aspect oriented programmingOOP Object oriented programming提供申明式服务允许用户实现自定义切面传统编程模式自上而下,纵向的编程Jsp ->Action ->Service ->DaoAOP 编程:在不改变原有的代码,增加新的功能Jsp ->Action ->Service <- log() ->原创 2020-06-21 18:34:37 · 742 阅读 · 0 评论 -
Java学习路线-57:静态代理和动态代理
静态代理角色分析抽象角色 接口或者抽象类真实角色 被代理的角色代理角色 代理真实角色,一般会做一些附属操作客户角色 使用代理角色进行一些操作AbstractObject - RealObject - ProxyClient代码实现package com.pengshiyu.proxy;// 租借接口public interface IRent { void rent();}package com.pengshiyu.proxy;publi原创 2020-06-21 18:33:07 · 735 阅读 · 0 评论 -
Java学习路线-56:Spring与Ioc
Spring官网:https://spring.io/理念:使现有技术更加实用,本身是大杂烩整合现有的框架技术优点:轻量级框架Ioc 容器-控制反转 inversion of ControlAop 面向切面编程对事务支持对框架的支持一、Ioc 控制反转Ioc 是一种编程思想,由主动编程变为被动接收别名:依赖注入 dependency injection控制:指谁来控制对象的创建传统的应用程序对象的创建是由程序本身控制的使用 spring 之后,由 spring 创建对象反原创 2020-06-21 18:31:24 · 743 阅读 · 0 评论 -
Java学习路线-55:自定义JSP标签
第 10 章 : 自定义标签编写步骤:标签处理类编写 tld 文件taglib 导入 tld 文件依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided<原创 2020-06-21 18:28:36 · 727 阅读 · 0 评论 -
Java学习路线-54: JSTL(标准标签库)
第 9 章 : JSTL(标准标签库)资料:JSP 标准标签库(JSTL)JSTL 是对 EL 表达式的扩展标签语言pom.xml<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency><dependency>原创 2020-05-17 21:22:49 · 772 阅读 · 0 评论 -
Java学习路线-53:EL(表达式语言)入门及 EL 函数库
第 8 章 : EL(表达式语言)入门及 EL 函数库课时 27 EL 入门EL 是 JSP 内置的表达式语言jsp2.0 开始,EL 表达式和动态标签来替代 java 脚本EL 替代 <%=%><% pageContext.setAttribute("name", "pageContext");%><% request.setAttribute("name", "request");%><% session.setAttribute("name",原创 2020-05-17 21:22:19 · 772 阅读 · 0 评论 -
Java学习路线-52:JavaBean
第 7 章 : JavaBean课时 24:JavaBean 规范必须要有默认的构造器(无参)必须要为成员提供 get/set 方法只提供一个 get 也可以,称为只读属性对于具有 get/set 方法的成员变量称之为属性就算属性没有对应的成员变量,只有 get/set 方法也是可以的属性的名称就是 get/set 方法去除 get/set 之后把首字母小写课时 25 BeanUtils 的使用commons-beanutils.jarcommons-logging.jar配置 pom原创 2020-05-17 21:21:50 · 752 阅读 · 0 评论 -
Java学习路线-51:JSP 快速入门
11-JSP 快速入门第 1 章 : JSP 入门课时 1 JSP 入门Java Server Pagesjsp 本质就是 Servletjsp:在原有 html 基础上添加 java 脚本分工:jsp 显示数据servlet 处理数据jsp -> servlet -> jspjsp 组成:1、html + java 脚本 + jsp 标签(指令)2、9 个内置对象:requestresponsesessionapplicationpageContextco原创 2020-05-17 21:21:13 · 851 阅读 · 0 评论 -
Java学习路线-50:Servlet监听器Listener
课时12 什么叫监听器ListenerAWT、SAX监听器:一个接口,内容由用户实现需要注册监听器中的方法,会在特殊事件发生时被调用观察者事件源事件监听器课时13 监听器概述以及生命周期监听器事件源1、ServletContext 生命周期监听 ServletContextListener 创建 contextInitialized ...原创 2020-02-23 11:15:13 · 769 阅读 · 0 评论 -
Java学习路线-49:Servlet过滤器Filter
课时1 过滤器的入门JavaWeb三大组件1、都需要在web.xml中进行配置ServletFilterListener2、过滤器会在一组资源(jsp, servlet, css, html等等)的前面执行可以让请求得到目标资源,也可以不让请求达到过滤器有拦截请求的能力3、编写过滤器(1)实现Filter接口(2)在web.xml中进行配置(3)Filter是单例的4、...原创 2020-02-23 11:14:13 · 770 阅读 · 0 评论 -
Java学习路线-48:Servlet学习
课时1 Servlet是什么Servlet作用是处理请求接收请求处理请求完成响应课时2 实现Servlet方式依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <v...原创 2020-02-17 21:35:31 · 765 阅读 · 0 评论 -
Java学习路线-47:Ajax学习XMLHttpRequest、XStream、json-lib
课时1 1.ajax简介(异步与同步)asynchronous javascript and xml异步js和xml1、异步交互和同步交互同步 发送,等待 整个页面刷新异步 发送,不等待 局部刷新示例:异步刷新<button id="btn">点击</button> <h2 id="text"></h2><script>...原创 2020-02-15 12:15:58 · 828 阅读 · 0 评论 -
Java学习路线-46:XML快速入门(2)-dom4j、XPATH、应用案例
第5 章 : XML解析之dom4j课时31 dom4j的简介https://dom4j.github.io/依赖<dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.0.0<...原创 2020-02-14 11:23:29 · 761 阅读 · 0 评论 -
Java学习路线-45:XML快速入门(1)- XML、DTD、JAXP、Schema
第1 章 : XML入门课时1 XML简介eXtensible Markup Language主要使用1.0版本语言中文名称用途html标记型语言显示数据xml可扩展标记型语言存储数据课时2 XML的应用1、传输数据2、表示有关系的数据3、配置文件课时3 XML的文档声明(1)xml的文档声明(2)定义元素(标签)(3)注释(4)特...原创 2020-02-14 11:21:09 · 730 阅读 · 0 评论 -
Java学习路线-44:JDBC数据库开发进阶
第1 章 : 事务处理课时1 事务的四大特性(ACID)原子性 Atomicity 操作不可再分割,要么成功,要么失败一致性 Consistency 数据状态与业务规则保持一致隔离性 Isolation 并发事务不会相互干扰持久性 Durability 数据操作必须被持久化到数据库中课时2:MySQL中开启和关闭事务默认情况下,MySQL没执行一条SQL语句,都是单独的事务...原创 2020-02-11 22:30:38 · 718 阅读 · 0 评论 -
Java学习路线-43:JDBC数据库开发入门
5-JDBC数据库开发入门课时1-2 1.什么是JDBCJDBC 数据库访问规范应用程序 <-> JDBC <-> MySQL驱动 <-> MySQL <-> Oracle驱动 <-> Oracle导入jar包加载驱动 Class.forName(‘类名’)给出url、username、pa...原创 2020-02-09 16:57:03 · 838 阅读 · 0 评论 -
Java学习路线-42:SQL进阶:约束、关系、连接
SQL进阶:约束、关系、连接课时1 1.单表的查询练习可视化客户端 SQLyog-- 查询部门编号为30的所有员工select * from emp where deptno=30;-- 查询所有销售员的姓名、编号和部门编号select ename, empno, deptno from emp where job='销售员'-- 查询奖金高于工资的员工select * fro...原创 2020-02-08 17:14:23 · 772 阅读 · 0 评论 -
Java学习路线-41:数据库及SQL/MySQL基础
数据库及SQL/MySQL基础课时1 数据库概述1、常见数据库Oracle 甲骨文DB2 IBMSQL Server 微软Sybase 赛尔斯MySQL 甲骨文2、理解数据库RDBMS = Manager + DatabaseRelational Database Management System关系型数据库管理系统Database = N 个 TableTable: ...原创 2020-02-08 17:13:26 · 733 阅读 · 0 评论 -
Java学习路线-40:Java数据库编程基础操作
第36 章 : Java数据库编程基础操作156 JDBC简介JDBC 属于一种服务,所有服务都必须按照指定的流程进行操作Java Database Connectivity开发包 java.sql核心组成 DriverManager接口 Connection、Statement、PreparedStatement、ResultSet四种连接方式:JDBC-ODBC 桥连接 JDK...原创 2020-01-05 12:32:47 · 817 阅读 · 0 评论 -
Java学习路线-39:网络编程TCP、UDP数据传输
第35 章 : 网络编程152 网络编程简介网络编程: 多台主机之间的数据通信通信协议:IP、TCP(可靠数据连接)、UDP(不可靠数据连接)网络程序模型:C/S Client/Server 客户端/服务端 安全性高 开发成本高B/S Browser/Server 浏览器/服务器 安全性较低 开发成本低目前以B/S 结构为主153 Echo程序模型ServerSocket与So...原创 2020-01-05 00:27:23 · 710 阅读 · 0 评论 -
Java学习路线-38:集合工具类Stack栈、Queue队列、Properties、Collections、Stream、MapReduce
第33 章 : 集合工具类146 Stack栈操作Stack栈先进后出, 继承自Vector继承关系AbstractCollection(Collection) - AbstractList(List) -ArrayList(List, RandomAccess, Cloneable, java.io.Serializable) -Vector(Li...原创 2020-01-04 22:13:29 · 939 阅读 · 0 评论 -
Java学习路线-37:Map集合
第32 章 : Map集合139 Map接口简介二元偶对象(key=value)Collection集合保存数据是为了输出Map集合保存数据是为了key查找常用方法put 添加数据get 获取数据entrySet 将Map转为SetcontainsKey 检查存在keySet 将Map中的key转为Setremove 删除数据继承关系@Map -@Sort...原创 2020-01-04 22:11:27 · 702 阅读 · 0 评论 -
Java学习路线-36:Set集合
第30 章 : Set集合130 Set接口简介Set集合不允许保存重复数据继承关系-@Iterable -@Collection -@Set -@SortedSet -@NavigableSetAbstractCollection(Collection) -AbstractSet(Set) ...原创 2020-01-04 22:10:21 · 696 阅读 · 0 评论 -
Java学习路线-35:List集合
第29 章 : List集合125 List接口简介允许保存重复数据List新的方法E get(int index);E set(int index, E element);ListIterator<E> listIterator();三个常用子类ArrayList 90%Vector 8%LinkedList 2% 定义public class ...原创 2020-01-04 21:45:59 · 700 阅读 · 0 评论 -
Java学习路线-34:类集框架简介
第28 章 : 类集框架简介123 类集框架简介数组长度固定重要的数据结构:链表与树类集:JDK >= 1.2 ObjectJDK >= 1.5 泛型JDK >= 1.8 性能提升核心接口:CollectionListSetMapIteratorEnumerationQueueListIterator继承体系// 接口关系@Iterabl...原创 2020-01-04 21:44:47 · 710 阅读 · 0 评论 -
Java学习路线-33:反射与Annotation
第27 章 : 反射与Annotation120 反射取得Annotation信息JDK > 1.5不同的Annotation 有他的存在范围public enum RetentionPolicy { SOURCE, CLASS, RUNTIME}import java.lang.annotation.Annotation;@Deprecated...原创 2019-12-31 22:51:31 · 706 阅读 · 0 评论 -
Java学习路线-32:ClassLoader类加载器反射与代理设计模式
第25 章 : ClassLoader类加载器115 ClassLoader类加载器简介系统环境变量 CLASSPATHJVM -> ClassLoader -> CLASSPATH -> .class加载器,由上至下执行Bootstrap 系统类加载器PlatformClassLoader 平台类加载器AppClassLoader 应用程序加载器自定义类...原创 2019-12-31 22:49:25 · 796 阅读 · 1 评论 -
Java学习路线-31:反射与简单Java类
第24 章 : 反射与简单Java类109 传统属性赋值弊端简单Java类,setter,getter过多,代码重复通过反射(Object类直接操作属性或方法)实现相同功能类的重复操作的抽象处理110 属性自动赋值实现思路类设计的基本机构:应该由一个专门的ClassInstanceFactory类负责反射处理接收反射对象与要设置的属性内容,同时可以获取指定类的实例化对象class...原创 2019-12-31 22:46:31 · 734 阅读 · 0 评论 -
Java学习路线-30: 反射与类操作
第23 章 : 反射与类操作104 反射获取类结构信息反射机制处理不仅仅只是一个实例化对象的处理,更多情况下还有类的组成结构操作任何一个类的组成结构:父类、父接口、包、属性、方法(构造方法,普通方法)// 获取包名 public Package getPackage()// 获取继承父类public native Class<? super T> getSuperc...原创 2019-12-31 22:45:04 · 722 阅读 · 0 评论 -
Java学习路线-29:反射机制与应用案例
第21 章 : 认识反射机制99 反射机制简介Java的精髓所在动态获取信息以及动态调用对象方法的功能所有技术实现的目标只有一点:重用性正:类 -> 实例对象反:实例对象 -> 类找到对象的根源Object.getClass() 100 Class类对象的三种实例化模式public final class Class<T> implements jav...原创 2019-12-31 21:54:13 · 847 阅读 · 0 评论 -
Java学习路线-28:JavaIO编程案例
第20 章 : JavaIO编程案例91 数字大小比较输入3个整数,并求出3个整数最大值和最小值import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;class InputUtil { /** * 读取指定个数的整数输入 * ...原创 2019-12-21 22:36:20 · 734 阅读 · 0 评论 -
Java学习路线-27:IO操作深入与IO操作类继承体系
第17 章 : IO操作深入80 字符编码常用的编码1、GBK/GB2312 国标编码, GB2312简体中文,GBK包含简体和繁体2、ISO8859-1 国际通用编码,描述所有字母3、UNICODE 16进制存储,描述所有问题4、UTF 象形文字部分使用16进制,普通字母采用ISO8859-1,主要使用UTF-8列出本机属性System.getProperties().list(...原创 2019-12-21 22:33:11 · 800 阅读 · 0 评论