IOC与AOP
在学习Spring时,初次接触到IOC与AOP,他们是Spring框架的核心技术。
IOC(控制反转)是一种设计思想,用于实现对象之间的解耦和依赖管理。它通过将对象的创建和依赖关系的管理从应用代码中抽离出来,交给外部容器来处理,从而降低了组件之间的耦合度,提高了系统的灵活性和可维护性。
简单的来说,IOC就是将创建对象的功能赋予给了容器,不再由我们手动创建。以下是使用方法:
定义Bean:通过在类上添加@Component注解,可以将类声明为一个Spring管理的Bean。
注入依赖:通过在需要注入的属性上添加@Autowired注解,Spring Boot会自动将依赖注入。
AOP:Aspect Oriented Programming,的简写,译为“面向切面编程"。AOP 用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP 还解决一些系统层面上的问题,比如日志、事务、权限等。
IO流
IO流是一种用于处理输入和输出的机制,它允许程序与外部世界(例如用户输入、文件、网络等)进行交互。
IO流使用场景:
-
文件读写:将文件中的数据读取到程序内存,或者将程序数据保存到文件中。
-
网络通信:通过字节流或字符流来进行网络数据的传输,比如上传文件或接收服务器响应。
-
数据流处理:处理大数据文件时,利用IO流可以按需读取或写入数据,避免内存占用过大
//字符流 Reader/Writer FileReader/FileWriter BufferedReader/BufferedWriter InputStreamReader/OutputStreamWriter //字节流 InputStream/OutputStream FileInputStream /FileOutputStream BufferedInputStream /BufferedOutputStream ObjectInputStream(反序列化)/ObjectOutputStream(序列化
使用IO流:
-
创建流:需要选择适合的流类型并实例化它。Java的IO包提供了各种流类,可以根据需要选择对应的类。
-
使用流:主要涉及到读取和写入数据。这两个操作通常通过流的read()和write()方法来完成。
-
处理异常:在使用IO流时,需要处理可能出现的异常。例如,文件可能不存在,网络连接可能失败,数据可能读写错误等。这些异常通常可以通过try-catch语句来捕获并处理。
-
关闭流:在完成IO操作后,需要关闭流以释放系统资源。可以通过流的close()方法来完成。
缓存 一级缓存 二级缓存
缓存是将程序经常访问的数据存储在内存中的一种机制,以此来提高数据的访问速度(查询效率),节约成本。
默认开启的是一级缓存(他是最快的缓存类型),它将数据缓存在sqlSession中,只供同一个sqlSession 使用。在同一个Sqlsession中,第二次查询同一个对象,直接从缓存中获取;其他sqlSession中若要查询这个对象,仍要执行sql语句。若Sqlsession关闭,sqlSession中的缓存数据清空,需要重新加载
不同于一级缓存,二级缓存存储在代理类mapper中,并且供多个sqlSession共享,即使sqlSession关闭,其他sqlSession依旧能读取到缓存中的数据。
并且想要使用二级缓存,需要配置一些条件:
1. <setting name="cacheEnabled" value="true" />。默认就是true,无需设置。
2.在相关mapper.xml中添加相关配置
3.使用二级缓存的实体类对象必须实现Serializable(可序列化)接口
4.pom.xml引入第三方缓存
标签:缓存,10.30,Spring,学习,sqlSession,日常,IO,AOP,IOC From: https://blog.csdn.net/lxy20030530/article/details/143367738