2021-08-13

20210813 第三阶段第二天

1.1properties配置文件的说明

语法

  1. 数据结构 key-value结构
  2. 写法 key=value “key2”=“value2”
  3. 数据类型 properties的数据类型都是字符串 所以无需添加“号
  4. 弊端 配置信息没有层级结构 必须写配置的全名
  5. 程序通过IO流进行文件的加载时,默认的字符集ISO-8859-1

1.2 YML配置文件说明

关于YML配置文件的说明

  1. 数据结构 key=vlaue
  2. 数据类型 默认是字符串 如果需要类型转化,则框架已经内部完成
  3. yml写法:1.key:空格)value 2.有层级结构 编辑时注意
  4. 字符集编码:默认程序加载时都是utf-8

2.SpringBoot为属性赋值

2.1业务说明

**说明:**由于业务需要,某些属性信息,如果直接写死在代码中则后期的扩展性不好,所以需要动态赋值。由于对象一般都是由Spring容器管理,所以该赋值的操作也应该由Spring容器管理

3.利用properties为属性赋值

3.1 需求

说明:

  • YML配置文件是Spring中的核心配置文件,其中包含了整合第三方框架的信息
  • 如果需要设定业务数据,一般采用properties的方式进行管理

4.SpringBoot环境切换

4.1需求说明

开发时环境称为开发环境,测试时的环境称为测试环境
开发环境:port:8080 msg=“我喜欢开发”
测试环境:port:8090 msg=“我喜欢测试”
解决方案:开始多测试环境

4.2语法说明

要求:不管是几个环境,要求配置项都必须相同,只可以不相同

  1. 使用—实现YML配置文件的分割
  2. 定义环境名称
  3. 定义默认环境名称

5.热部署

5.1 解释说明

  • 说明:热部署一般在开发阶段比较适用,但是在发布阶段一般会取消该功能
  • 作用:当程序进行修改一段时间之后,Tomcat服务器会自动的重启
  • 缺点:eclipse中,兼容完美立即重启,IDEA3-5,秒之后完成重启
    具体参加CSDN中ID为闪耀太阳的CGB2103-day02

5.2 lombok用法

检查是否可以动态生成get/set等方法
@Data //默认生成get/set/toString/hashcode…
@Accessors(chain=true) //开启链式加载
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造

5.3 关于lombok面试题

  1. 需要在IDEA中安装对应的插件“红番茄”
  2. 添加jar包 之后通过注解进行调用!!!!

**问题:**项目将来都要部署到Linux系统中,是否需要安装插件??对java编译的规则是否清楚!!
**答案:**不需要安装
**原因:**lombok在编译期有效xxx.class(字节码文件)—xxx.jar

6. 关于MyBatis总结

6.1什么是MyBatis

MyBatis是持久化层的框架,与数据进行交互。MyBatis在内部封装了JDBC
MyBatis称之为半自动化的ORM映射框架

6.2 ORM思想

对象关系映射(英语:Object Relational Mapping,简称ORM),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转化。从效果上来说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序更倾向于创建自己的ORM工具
**总结:**以面向对象的方式操作数据库
难点:

  1. 对象应该与表一对一映射
  2. 对象中属性应该与表中的字段一一映射

分类:
更新操作 手写SQL,参数一般采用对象的方式封装,之后通过#{属性}
**查询操作:**手写SQL 结果集自动的封装
**扩展:**user对象(…) userMapper.insert(user); 程序自动入库 配置繁琐
**思考:**为什么mybatis这么多年都没有实现全自动的orm呢?性能问题
**mybatis认为:**用户自己手写的SQL的执行效率是最高的,并且也更加的通用多表关联

7.动态代理机制

7.1 什么是动态代理

在不修改源码的条件下对方法进行扩展.

7.2 动态代理的方式

1. JDK动态代理

要求:

  1. 要求被代理者,必须实现接口.
  2. 代理对象根据接口的类型,通过反射机制创建出来一个实现类对象.(JDK源码底层实现的)
  3. Spring容器一般面对接口注入时 ,默认条件下采用JDK动态代理的方式实例化对象.

2.CGLIB动态代理
1.CGLIB是JDK代理的一种补充.
2.不管被代理者是否实现接口,都可以为其创建代理对象
3.代理对象是被代理者的子类.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值