框架

springboot

spring到spring boot

  1. 限定性框架和非限定性框架
  2. spring boot功能特性:
  3. 创建独立运行的spring应用
  4. 直接嵌入web容器,不需要部署war包
  5. 提供限定性的starter依赖简化配置(就是脚手架)
  6. 在必要时自动化配置spring和其他三方依赖库,使用ConditionalOnProperty中属性=true时才会自动化配置
  7. 提供生产production-ready(线上运维)特性,例如指标度量,将抗检查,外部配置
  8. 完全零代码生产和不需要xml配置

springboot核心原理

  1. 自动化配置:简化配置核心,基于Configuration,EnableXX,Condition
  2. yml->COnfiguration->Bean
  3. 默认通过spring.profiles.active属性来决定运行环境时的配置文件
  4. EnableAutoConfiguration默认对于依赖的starter进行自动装载
  5. 自动化装配
  6. 在启动类上加@EnableAutoConfiguration注解
  7. 在配置类上加@Configuration注解,申明为配置类,加@Import注解可以引用其他的配置文件
  8. 在src/main/resources/META-INF/spring.factories 中声明:spring…EnableAutoConfiguration=\配置类
  9. 是spring-boot-starter:脚手架核心,整合各种第三方类库
  10. 条件化自动配置
    1.ConditionalOnBean

springboot starter

  1. 在类中声明@Config
  2. 在spring.factories中声明该类为start,spring.provides中注册该starter

orm技术

JDBC

  1. DataSource–Pool
  2. DriverManager
  3. Connection
  4. Statement
  5. ResultSet

Hibernate

  1. hubernate里可以使用Hql,Critertal,Native SQL三种方式来操作数据库

MyBatis

JPA

java持久化框架,是一套基于orm的规范,开发时借鉴了hibernate,所以Hubernate天生是jpa的实现,核心EntityManager

spring jdbc和orm

  1. spring jdbc :内部支持jdbc template和hubernate
  2. spring orm: 支持jpa
  3. spring data:支持各种sql

spring管理事务

  1. 事务的传播性:@Transactional(propagation=Propagation.REQUIRED)
  2. 事务的隔离级别:@Transactional(isolation = Isolation.READ_UNCOMMITTED),读取未提交数据(会出现脏读, 不可重复读) 基本不使用
  3. 只读:@Transactional(readOnly=true),该属性用于设置当前事务是否为只读事务,设置为 true 表示只读,false 则表示可读写,默认值为 false。
  4. 事务的超时性:@Transactional(timeout=30)
  5. 回滚:指定单一异常类:@Transactional(rollbackFor=RuntimeException.class);指定多个异常类:@Transactional(rollbackFor={RuntimeException.class, Exception.class})

springboot和orm的结合

  1. 本地事务
  2. 多数据源(配置、静态制定、动态切换)
  3. 数据库池配置(大小、重连)
  4. ORM 内的复杂 SQL,级联查询
  5. ORM 辅助工具和插件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值