Java-IO流-1
File类的使用java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。
想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
File对象可以作为参数传递给流的构造器
路径分隔符路径中的每级目录之间用一个路径分隔符隔开。
路径分隔符和系统有关:windows和DOS系统默认使用“\”来表示 UNIX和URL使用“/”来表示
Java程序支持跨平台运行,因此路径分隔符要慎用。为了解决这个隐患,File类提供了一个常量: public static final String separator。根据操作系统,动态的提供分隔符
File类的构造器
public File(String pathname) 以pathname为路径创建Fi ...
Spring学习-9
Spring常用注解12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061注意:使用注解,必须要告诉spring在创建容器时要扫描的包。用于创建对象的 他们的作用就和在xml配置文件中编写一个<bean>标签实现的功能是一样的 @Component 作用:用于把当前类对象存入spring容器中 属性: value:用于指定的bean的id,当我们不写时默认使用类名首字母小写的值 @Controller:一般用在表现层,控制器 @Service:一般用在业务层 @Repository:一般用在持久层 以上三个注解他们的作用和属性于Component是一模一样的。 他们三个是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰用于注入数据的 他们的作用就和在xml配置文件中的bean标签中写一个<property></property>标签的作用是一样的 @ ...
Spring学习-8
编程式事务由程序员编程事务控制代码.例如:OpenSessionInView 编程式事务
声明式事务事务控制代码已经由 spring 写好.程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制.
声明式事务都是针对于 ServiceImpl 类下方法的.事务管理器基于通知(advice)的.
在 spring 配置文件中配置声明式事务
123456789101112131415161718192021222324252627282930313233343536373839404142<?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.springfram ...
Spring学习-7
scope属性1. <-bean>的属性2. 作用:控制对象有效范围(单例,多例等)3. 标签对应的对象默认是单例的.无论获取多少次,都是同一个对象
scope 可取值
singleton 默认值,单例
prototype 多例,每次获取重新实例化
request 每次请求重新实例化
session 每个会话对象内,对象是单例的.
application 在 application 对象内是单例
global session spring推出的一个对象,依赖于spring-webmvc-portlet,类似于 session
singleton-单例
prototype-多例
Spring学习-6
自动注入在 Spring 配置文件中对象名和 ref=”id”id 名相同使用自动注入,可以不配置<-property/>
两种配置办法
在<bean>中通过autowire=”” 配置,只对这个bean生效
在<beans>中通过 default-autowire=””配置,表当当前文件中所有bean都是全局配置内容
autowire=”” 可取值
default: 默认值,根据全局 default-autowire=””值.默认全局和局部都没有配置情况下,相当于 no
no: 不自动注入
byName: 通过名称自动注入.在 Spring 容器中找类的 Id
byType: 根据类型注入.class
spring 容器中不可以出现两个相同类型的bean,否则保错
constructor: 根据构造方法注入.
提供对应参数的构造方法(构造方法参数中包含注入对象那个)
底层使用 byName, 构造方法参数名和其他<-bean>的 id相同
byName
byType
存在两个相同类型的bean,此时按照byType ...
Spring学习-5
AOP(面向切面编程)英文名称:(Aspect Oriented Programming)
正常程序执行流程都是纵向执行流程
又叫面向切面编程,在原有纵向执行流程中添加横切面
特点:
不需要修改原有程序代码
高扩展性
原有功能相当于释放了部分逻辑.让职责更加明确.
面向切面编程是什么?
在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成横切面过程就叫做面向切面编程.
常用概念
原有功能: 切点,pointcut
前置通知: 在切点之前执行的功能.beforeadvice
后置通知: 在切点之后执行的功能,afteradvice
如果切点执行过程中出现异常,会触发异常通知.throwsadvice
所有功能总称叫做切面.
织入: 把切面嵌入到原有功能的过程叫做织入
spring 提供了 2 种 AOP 实现方式
Schema-based
每个通知都需要实现接口或类
配置 spring 配置文件时在<aop:config>配置
AspectJ
每个通知不需要实现接口或类
配置 spring 配置文件是在<aop:config>的子标签& ...
Spring学习-4
使用 Spring 简化 MyBatis(不完全)导入 mybatis 所有jar和spring基本包,spring-jdbc,spring-tx,spring-aopspring-web,spring整合mybatis的包等
先配置 web.xml配置spring配置文件
编写代码
正常编写 pojo
编写 mapper 包下时必须使用接口绑定方案或注解方案(必须有接口)
正常编写 Service 接口和 Service 实现类
需要在 Service 实现类中声明 Mapper 接口对象,并生成get/set 方法
- **spring 无法管理 Servlet,在 service 中取出 Servie 对象**

Spring学习-3
给Bean的属性赋值(注入)
通过构造器注入
通过使用index,name,ref,type进行条件匹配。最后用value赋值
通过set注入(set方法)
如果属性是基本数据类型或 String 等简单类型
等效于
如果属性是 Set<?>
如果属性是 List<?>
如果属性是数组
如果属性是map
如果属性值从Properties文件获取
当注入的值为一个时,set,list,数组类型可以简写
DI(依赖注入)英文名称:Dependency Injection
DI 是什么?
DI 和 IoC 是一样的
当一个类(A)中需要依赖另一个类()对象时,把 B 赋值给 A 的过程就叫做依赖注入.
Spring学习-2
IoC(控制反转)英文名称:(Inversion of Control)
IoC 是什么?
IoC 完成的事情原先由程序员主动通过 new 实例化对象事情,转交给 Spring 负责.
控制反转中控制指的是:控制类的对象.
控制反转中反转指的是转交给 Spring 负责.
IoC 最大的作用:解耦.
程序员不需要管理对象.解除了对象管理和程序员之间的耦合.
Spring 环境搭建
导入 jar 四个核心包一个日志包(commons-logging)
在 src 下新建 applicationContext.xml(文件名称和路径自定义)
记住 Spring 容器 ApplicationContext,applicationContext.xml 配置的信息最终存储到了 AppliationContext 容器中
spring 配置文件是基于 schema
schema 文件扩展名.xsd
把 schema 理解成 DTD 的升级版.比 DTD 具备更好的扩展性.
每次引入一个 xsd 文件是一个 namespace(xmlns)
配置文件中只需要引入 ...
Spring学习-1
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
官网 : http://spring.io/
官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/
官方文档:https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/
GitHub : https://github.com/spring-projects
主要发明者:RodJohnson
轮子理论推崇者:
轮子理论:不用重复发明轮子.IT 行业:直接使用写好的代码.
Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便.
Spring 几大核心功能
IoC/DI 控制反转/依赖注入
AOP 面向切面编程 ...