源码分析
我可以很爱秀
心境与格局
展开
-
Spring IOC的实现方式
Spring IOC1.1spring IOC的实现:1.纯xml(bean信息定义全部配置在xml中),该bean定义模式下IOC容器启动方式: JavaSE应用:ApplicationContext applicationContext = new ClassPathApplicationContext("beans.xml"); 或者:new FileSystemXmlApplicationContext("c:/beans.xml"); JavaWeb应用:ContextLoader原创 2021-04-16 01:50:07 · 1463 阅读 · 0 评论 -
spring简介
spring简介1.分层(dao、service、controller)2.全栈3.轻量级:跑起来只需要一个jar包,一个容器环境就能跑起来4.IOC和AOP为内核5.整合第三方优秀的框架spring优势:1.方便解耦,简化开发2.aop编程的开发,让所有方法前或者后执行一段逻辑3.声明式事务 @Transactional底层通过aop来实现的4.方便程序的测试5.方便集成各种优秀框架6.降低javaEE API的使用难度7.源码是经典的java学习范畴 灵活运用思想和设计模式原创 2021-04-11 03:31:20 · 130 阅读 · 0 评论 -
Spring高级特性
Spring高级特性:1.lazy-init:配置bean对象的延迟加载,true或者false,默认为fasle(立即加载),相当于注解@Lazy如果⼀个 bean 的 scope 属性为 scope="pototype" 时,即使设置了 lazy-init="false",容器启动时也不会实例化bean,⽽是调⽤ getBean ⽅法实例化的。应⽤场景(1)开启延迟加载⼀定程度提⾼容器启动和运转性能 (2)对于不常使⽤的 Bean 设置延迟加载,这样偶尔使⽤的时候再加载,不必要从⼀开始该 Be原创 2021-04-21 14:47:51 · 399 阅读 · 1 评论 -
mybatis缓存与延迟加载
⼆级缓存构建在⼀级缓存之上,在收到查询请求时,MyBatis ⾸先会查询⼆级缓存,若⼆级缓存未命中,再去查询⼀级缓存,⼀级缓存没有,再查询数据库。⼆级缓存------》 ⼀级缓存------》数据库与⼀级缓存不同,⼆级缓存和具体的命名空间绑定,⼀个Mapper中有⼀个Cache,相同Mapper中的MappedStatement共⽤⼀个Cache,⼀级缓存则是和 SqlSession 绑定.MyBatis⼆级缓存只适⽤于不常进⾏增、删、改的数据,⽐如国家⾏政区省市区街道数据。⼀但数据变更,MyB原创 2021-04-09 00:46:55 · 136 阅读 · 0 评论 -
MyBatis基础回顾及高级应用
MyBatis基础回顾及高级应用MyBatis:1.基于ORM,ORM全称:标识对象-关系映射的缩写,实体类与映射表建立关联关系2.半自动,支持sql优化,Hibernate全自动基于ORM,弊端:不支持sql优化。3.轻量级的持节层框架,所需要的资源比较少称为轻量级优势:半自动化的持久层框架,核心sql自己优化,sql和java编码分开,功能边界清晰。mybatis缓存一级缓存:session级别的缓存 ,其key为:statementid,params,boundSql,rowBounds原创 2021-04-06 00:57:08 · 139 阅读 · 1 评论 -
持久层框架设计
持久层框架设计实现及mybatis源码分析JDBC问题分析: 1.数据库配置信息存在硬编码问题 (sql语句、设置参数、获取结果集参数均存在硬编码问题) ; 2.频繁创建释放数据库链接,每次tcp连接3次握手,四次挥手,耗费资源; 3.手动封装返回结果集,较为繁琐。对应解决方式: 1.配置文件 2.连接池 3.反射、内省使用端:(项目):引入自定义持久层框架的jar包 提供两部分配置信息:数据库信息、sql配置信息、sql配置信息、参数类型、返回值类型。 使用配置文原创 2021-04-04 12:36:35 · 241 阅读 · 0 评论