企业开发基础-2-Spring
SpringSpring官方文档请点我
Spring 是轻量级的开源的 JavaEE 框架,用于解决企业应用开发的复杂性,其核心为 IOC 和 AOP
Spring 是开源的、轻量级免费框架
控制反转(IOC)和面向切面编程(AOP)
IOC 控制反转:把创建对象过程交给 Spring 管理
AOP 面向切面:不修改源代码进行功能增强
支持事务处理,对框架整合的支持
Spring 特点
方便解耦,简化开发
AOP 编程支持
方便程序的测试
方便和其他框架整合
方便进行事务操作
降低API开发难度
Spring三核心
控制反转 IOC
依赖注入 DI
面向切面编程 AOP
IOC基本概念
IOC 概念
控制反转,把 对象创建和对象之间的调用过程,交给 Spring 管理
目的:降低耦合度
底层原理
原始方式
工厂模式
IOC 过程
IOC 思想基于 IOC 容器完成,IOC 容器底层是对象工厂
Spring 提供 IOC 容器实现两种方式:(两个接口)
BeanFactory :IOC 容器基本实现,是 Spring 内部的使用接口
加载 ...
企业开发基础-1-JavaWeb
XMLxml文件
概述
XML 即 Extensible Markup Language,是一种可扩展的标记语言,使用标签来描述数据,并且可以自定义标签
作用
存储、传输数据或者用于软件配置文件
标签
标签由尖括号和合法标识
标签必须成对出现,有些特殊的标签不成对但是必须有结束标记,如 <student></student>、</adderss>
标签中可以定义属性,属性和标签名用空格隔开,属性值需要用双引号引起来,如 <student id="1"></student>
一个 xml 文件有且仅有一个根标签,标签需要正确嵌套
语法
文档声明必须是文件第一行第一列,格式如下
1<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
version 属性:必选的
encoding 属性:可选的,指定打开该文件时使用的字符编码表,一般是 UTF-8
stan ...
Java8-8-新时间日期API
LocalDate、LocalTime、LocalDateTime LocalDate、LocalTime、LocalDateTime 类的实 例是不可变的对象,分别表示使用 ISO-8601日 历系统的日期、时间、日期和时间。 它们提供了简单的日期或时间,并不包含当前的时间信 息。也不包含与时区相关的信息。
方法
说明
now()
静态方法,根据当前时间创建对象
of()
静态方法,根据指定日期/时间创建 对象
plusDays, plusWeeks, plusMonths, plusYears
向当前 LocalDate 对象添加几天、 几周、几个月、几年
minusDays, minusWeeks, minusMonths, minusYears
从当前 LocalDate 对象减去几天、 几周、几个月、几年
plus, minus
添加或减少一个Duration或 Period
withDayOfMonth, withDayOfYear, withMonth, withYear
将月份天数、年份天数、月份、年 份修改为指 定 的 值 并 ...
Java8-7-接口中默认方法和静态方法
接口中的默认方法 Java 8 中允许接口中包含具有具体实现的方法,该方法称为 “默认方法” ,默认方法使用 default 关键字修饰。
1234567interface MyFunc<T> { T func(int a); default String getName() { return "Hello, Java8"; } }
接口默认方法的 ”类优先” 原则
若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名的方法时
选择父类中的方法。如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。
接口冲突。如果一个父接口提供一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管方法是否是默认方法),那么必须覆盖该方法来解决冲突
接口中的静态方法 Java 8 中,接口中允许添加静态方法。
12345678910interface MyFunc<T> { T fu ...
Java8-6-并行流
并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流
基本数据类型优化之前用到的很多Stream的方法由于都使用了泛型。所以涉及到的参数和返回值都是引用数据类型。即使我们操作的是整数小数,但是实际用的都是他们的包装类。所以为对大数据量时装箱拆箱的时间消耗进行优化。Stream还提供了很多专门针对基本数据类型的方法
12345mapToIntmapToLongmapToDoubleflatMapToIntflatMapToDouble
并行流 使用parallel方法将串行流转换成并行流,也可以通过parallelStream直接获取并行流对象
12345678910Stream<Integer> stream = Stream.of(1,2,3,4,5,6,7,8,9,10);Integer sum = stream.parallel() .peek(new Consumer<Integer>() { public void accept(Integer num) { Syst ...
Java8-5-Optional
Optional 类 (java.util.Optional) 是一个容器类,代表一个值存在或不存在, 原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。
常用方法
方法
说明
Optional.of(T t)
创建一个 Optional 实例
Optional.empty()
创建一个空的 Optional 实例
Optional.ofNullable(T t)
若 t 不为 null,创建 Optional 实例,否则创建空实例
isPresent()
判断是否包含值
orElse(T t)
如果调用对象包含值,返回该值,否则返回 t
orElseGet(Supplier s)
如果调用对象包含值,返回该值,否则返回 s 获取的值
map(Function f)
如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
flatMap(Function mapper)
与 map 类似,要求返回值必须是Optional
使用创建对象Op ...











