第38天打卡:
到此SpringBoot就全部学完了,明天休息,后天要开始做项目辽~把前面所有所学整合整合,项目做完就准备去实习啦!
今天看的好多mysql进阶概念不理解,不理解等后面多看几遍理解了再记下,下列是理解的概念:
MySQL高级:
InnoDB和MyIASM的区别:
InnoDB支持事务,支持行锁,支持外键;
MyIASM不支持事务,支持表锁,不支持外键。
Memory引擎数据存储在内存中,受硬件和断电问题影响所以表只能当做临时表或缓存使用。由于数据存在内存中所以访问速度快。
B树和B+树的区别:
B+树所有的数据都会出现在叶子节点,并且形成一个双向链表;
Select * from user where name=”xx”,假设这张表的有id(主键)字段和name字段。(聚集索引和二级索引的索引结构都是B+树)执行这条sql的过程为:where后的条件是name,所以要到二级索引(辅助索引)中查询xx,经过对比找到叶子节点上name=xx的数据,二级索引的叶子节点上存储的是name对应的id即主键,聚集索引的叶子节点存储的是id对应的证行数据。用id到聚集索引中对比找到对应的叶子节点即可获取到符合where条件的数据。这个过程有个术语——回表查询。
SpringBoot集成Dubbo:
1)创建一个普通Maven项目用来放工具类、实体类(必须序列化!!!)、接口和依赖;
2)创建SpringBoot提供者项目,实现接口类中的方法,在实现类上加@DubboService注解,配置文件如下(必须):
#声明服务名称
spring.application.name=provider-service
#配置注册中心
dubbo.registry.address=zookeeper://localhost:2181
#扫描包
dubbo.scan.base-packages=csc.dubboprovider
并在启动类上加@EnableDubbo注解。
3)创建SpringBoot执行者项目,使用controller方法调用实现类中的方法,引入Service对象使用@DubboReference注解,配置文件如下(必须):
server.port=8000
server.servlet.context-path=/test
#声明服务名称
spring.application.name=executor
#配置注册中心
dubbo.registry.address=zookeeper://localhost:2181
#扫描包
dubbo.scan.base-packages=csc.dubboexecutor
并在启动类上加@@EnableDubbo注解。
SpringBoot打包:
jar包:普通的java程序或者类的集合。
war包:标准的web应用。把war文件放到tomcat的发布目录,就能执行web程序。
SpringBoot的jar包和普通的jar包区别:
Springboot的jar包可以独立运行,有BOOT-INF目录内放自己的类文件和配置文件,启动tomcat可以执行web应用;普通的jar包作为类库的集合,不能独立运行。
SpringBoot默认打jar包。
Thymeleaf(百里香)简单了解:
Thymeleaf是一个模板引擎,理解为就是一个视图的框架, 代替jsp作为视图使用。 Thymeleaf是html + thymeleaf的语法组成的,类似jsp在html中,使用表达式。
在服务器提供数据,数据是放在request作用域。 request.setAttribute("name","lisi") , 使用key作为数据的标识, 通过key获取数据。
语法:在属性前加th:,例th:text=” ${key}(表达式)”。