07 2022 档案
摘要:1. 顺序结构 java代码顺序执行 2. 选择结构 if语句 格式 if(结果为booblean类型的表达式){ 语句体; } if(结果为booblean类型的表达式){ 语句体1; }else{ 语句体2; } if(结果为booblean类型的表达式){ 语句体1; }else if{ 语句
阅读全文
摘要:1. break 作用 1. 跳出整个循环体,进入循环下面的语句 2. 在多层嵌套循环中,break跳出内层循环 3. 可以使用带标签的break语句,跳出外层循环 编码 //break终止循环 public static void method1() { for (int i = 0; i < 5
阅读全文
摘要:1. 形参和实参 实参(实际参数) :用于传递给函数/方法的参数,必须有确定的值。 形参(形式参数) :用于定义函数/方法,接收实参,不需要有确定的值 2. 值传递和引用传递 值传递 :方法接收的是实参值的拷贝,会创建副本。 引用传递 :方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对
阅读全文
摘要:1. 数组概述 数组(array): 存储一个元素个数固定且元素类型相同的有序集 2. 数组的定义格式 格式一 数据类型[] 变量名 int[] array; -->推荐 格式二 数据类型 变量名[] int array[]; 3.数组的初始化 java中的数组必须先初始化才能使用 初始化: 就是为
阅读全文
摘要:问题 //在同一个业务类中,一个业务方法调用另一个业务方法 //问题: login方法添加有额外功能 // register方法没有添加额外功能 public class UserServiceImpl implements UserService { @Override public void l
阅读全文
摘要:1.基于注解的AOP编程步骤 原始对象 额外功能 切入点 组装切面 将2 3 4步放在切面类中: 定义切面类: @Aspect 定义额外功能: @Around 原始方法的运行: ProceedingJoinPoint.proceed() 定义切入点: @Around(* login(..)) pac
阅读全文
摘要:1.核心问题 1. AOP如何创建动态代理类 2. Spring工厂如何加工创建代理对象 通过原始对象的id值,获得的是代理对象 2.动态代理类的创建 2.1 JDK动态代理 通过方法Proxy.newProxyInstance(ClassLoader,interfaces,InvocationHa
阅读全文
摘要:1.AOP概念 AOP(Aspect Oriented Programing) 面向切面编程 = Spring动态代理开发 以切面为基本单位的程序开发,通过切面间的相互协同,相互调用,完成程序的构建 切面 = 切入点 + 额外功能 OOP(Object Oriented Programing) 面向
阅读全文
摘要:1.额外功能详解 MethodBeforeAdvice分析 public class Before implements MethodBeforeAdvice { /* 作用: 把需要在原始方法执行之前运行的额外功能,书写在before方法中 Method: 增加额外功能的那个原始方法 Object
阅读全文
摘要:1.Spring动态代理的概念 概念: 通过代理类为原始类(目标类)增加额外功能 好处: 利于原始类的维护 2.搭建开发环境 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId>
阅读全文
摘要:1.为什么需要代理设计模式 1.1 问题 在javaEE分层开发中,那个层对我们最重要? DAO-->Service-->Controller 在javaEE分层开发中,最为重要的是Service层 Service层中包含哪些代码? Service层 = 核心功能(几十行 上百行代码) + 额为功能
阅读全文
摘要:BeanPostProcessor: 对Spring工厂所创建的对象,进行再加工 注意: BeanPostProcessor是一个接口 后置处理Bean的原理 程序员实现BeanPostProcessor接口,重写规定的方法: Object postProcessBeforeInitializati
阅读全文
摘要:1.类型转换器 作用:Spring通过类型转换器把配置文件中字符串类型的数据,转换成对象中成员变量对应类型的数据,从而完成注入 2.自定义类型转换器 当Spring内部没有提供特定的类型转换器时,而程序员在应用过程中还需要使用,那么就需要程序员自己定义类型转换器 实现Converter<s,t>接口
阅读全文
摘要:把Spring配置文件中需要经常修改的字符串信息,转移到一个更小的配置文件中 1. 小配置文件(.properties) 2. 好处 : 利于维护 1.配置文件参数化开发步骤 已数据库配置为例 : <bean id="conn" class="com.dong.factorybean.Connect
阅读全文
摘要:1.什么是生命周期 对象创建 存活 销毁的完整的过程 2.为什么学习对象的生命周期 在以前通过new创建对象,调用对象,则该对象存活,直到被JVM的垃圾回收机制回收 现在由Spring负责对象的创建 存活 销毁,了解生命周期,有助于使用好Spring为我们创建的对象 3.生命周期的三个阶段 创建阶段
阅读全文
摘要:1.如何控制简单对象的创建次数 <bean id="scope" scope="singleton|prototype" class="com.dong.scope.Account"/> singleton : 只会创建一次对象(默认) prototype : 每次都会创建新的对象 2.如何控制复杂
阅读全文
摘要:) 1.什么是复杂对象 复杂对象 : 指的就是不能通过直接new构造方法创建的对象 Connection sqlSessionFactory 2.Spring工厂创建复杂对象的3种方式 2.1 FactoryBean接口 开发步骤 实现FactoryBean接口 //FactoryBean接口实现的
阅读全文
摘要:1.在maven配置文件中自定义本地仓库的位置 2.在maven配置文件中添加镜像, 加快下载速度 3.idea中更换默认的maven
阅读全文
摘要:1.控制反转(转移)(IOC Inverse of Control) 控制 : 对于成员变量赋值的控制权 控制反转 : 把对于成员变量赋值的控制权,从代码中反转(转移)到Spring工厂和配置文件中完成 好处 : 解耦合 底层实现 : 工厂设计模式 2.依赖注入(Dependency Injecti
阅读全文
摘要:注入 : 通过Spring的配置文件,为成员变量赋值 Set注入 : Spring调用Set方法,通过配置文件,为成员变量赋值 构造注入 : Spring调用构造方法,通过配置文件.为成员变量赋值 1.开发步骤 提供有参构造方法 public class Customer implements Se
阅读全文
摘要:针对不同类型的成员变量,在property标签中,需要嵌套其它标签 1.JDK内置类型 1.1 String+8中基本类型 <value>xxx</value> 1.2 数组和List集合 注意list集合的泛型 </property> <property name="list"> <list> <
阅读全文
摘要:1.什么是注入? 通过Spring工厂及配置文件,为所创建对象的成员变量赋值 1.1 为什么需要注入? 通过编码的方式, 为成员变量赋值, 存在耦合 1.2 如何进行注入? 为类成员变量提供set, get方法 配置Spring的配置文件 <bean id="user" class="com.don
阅读全文
摘要:Spring与日志框架进行整合,日志框架就可以在控制台中,输出Spring框架运行过程中的一些重要的信息 好处:便于了解Spring框架的运行过程,利于程序的调试 Spring如何整合日志框架 默认 Spring1.2.3整合commons-logging.jar Spring5.X默认整合日志框架
阅读全文
摘要:1.软件版本 JDK1.8+ Maven3.5+ IDEA2018+ 当Maven是3.6,IDEA是2019时会存在配合上的问题 SpringFramework5.1.4 2.环境搭建 Spring的jar包 <!-- https://mvnrepository.com/artifact/org.
阅读全文
摘要:1、EJB存在的问题 运行环境苛刻 EJB(Enterprise Java Bean)代码只能运行在服务器中的EJB容器中,但Tomcat没有EJB容器,而有EJB容器的服务器是闭源收费,如:Weblogic、Websphere,我们不能对服务器进行修改和定制 代码移植性差 EJB代码运行在Webl
阅读全文
摘要:1、典型代码 User: public class User { private String username; private String password; ... UserService: public interface UserService { //注册 public void re
阅读全文
摘要:1、ArrayList ArrayList 是 List 接口的典型实现类、主要实现类 本质上,ArrayList是对象引用的一个”变长”数组 ArrayList的JDK1.8之前与之后的实现区别? JDK1.7:ArrayList像饿汉式,直接创建一个初始容量为10的数组 JDK1.8:Array
阅读全文
摘要:1、Iterator接口 Iterator对象称为迭代器,主要用于遍历Collection集合中的元素 迭代器模式:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节 迭代器模式就是为容器而生 Collection接口继承了java.lang.Iterable接口, 该接口有一个it
阅读全文
摘要:1、数组的优缺点 数组的优点 数组的读取和更改数据的效率是所有数据据结构中最高的 数组的缺点 数组不适合进行大量数据的存储,因为数组在内存中很难找到连续且大的内存空间 数组的随机删除和插入的效率低,因为数组进行任意索引的删除和插入时,索引后面的元素都会发生集体左移或右移的行为(最大索引对应的元素除外
阅读全文
摘要:添加 add(Object obj) addAll(Collection coll) 获取有效元素的个数 int size() 清空集合 void clear() 是否是空集合 boolean isEmpty() 是否包含某个元素 boolean contains(Object obj) boole
阅读全文
摘要:controller 层调用 service 层方法,service 层调用 dao 层方法,一旦在这些类中将方法名改变了,调用者也必须改变方法名,当代码非常多的时候,更改方法名,并且重新编译,非常浪费时间 而使用接口,在接口中定义方法,对拓展开发,对修改关闭,实现类只能重写方法,一旦改变改变方法名
阅读全文
摘要:1、抠图 选择快速选择工具 点击你要选择的扣取的元素,直到完全包含 点击 ctrl+x 剪切 点击图层>新建图层 将扣出的图复制到新图层 2、设置图片大小 在屏幕左下角有该图片的大小参数 点击图像>图像大小,或者 alt+ctrl+i 设置图片宽高
阅读全文
摘要:equals是判断两个对象的内容是否相同 ==是判断两个对象的内存地址是否相等 String str1 = new String("ABC"); String str2 = new String("ABC"); str1.equals(str2); //true str1 == str2; //fa
阅读全文
摘要:1、概述 1.1、什么是mysql MySQL是一个**关系型数据库管理系统**,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Man
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
阅读全文