1.MyBatis:
重要なコンポーネントを1.1MyBatis:
- マッパー設定:エンティティクラスStudent.java - データシートの学生、XMLまたは注釈
- マッパーインタフェース:DAO層インタフェース。(その実装するクラスを記述することなく、ジャスト・ライト・インターフェース:規則に従う必要があります)
-
マッパーインタフェースは規約を書く際に従わなければなりません。
1. SQLメソッドの名前とID値プロファイル(studentMapper.xml)が同じである必要があります
2.入力パラメータの方法、およびSQLのParameterType同じプロファイルのタイプでなければなりません。
3.メソッドの戻り値、およびタイプresultTypeと同じSQLプロファイルでなければなりません
SQLプロファイル
-
<SELECT ID = "queryStudentByNo"のParameterType = "INT" resultTypeと= "lanqiao.entity.Student"> 選択学生からここstuNo = * #{stuNo} </選択>
インターフェース
-
パブリック インターフェースStudentMapper { 生徒queryStudentByNo(INT stuNO) リスト <学生> queryStudentByNo() }
特別:
そうでない場合、本のParameterType 1は、ノンパラメトリック法である表し
2.何resultTypeとが存在しない場合は、戻り値がvoidの表し
3.戻り値がコレクション型、まだ実際のresultTypeと要素型ではなく、コレクション型がある場合。
一般的なオブジェクトの1.2MyBatis開発
1.SqlSessionFactory:SqlSesssion工場。生成SqlSesssionは、()でのOpenSession SqlSesssionオブジェクト:SqlSessionFactoryで。
2.SqlSesssion:(JDBC接続に類似)SqlSesssionオブジェクト
3.Executor:MyBatisのすべてのマッパー文の実行は、エグゼキュータによって行われます。
1.3MyBatis 4つのコアサブジェクト
1.StatementHandler(責任のSQL文):処理されたデータベースは、選択...ここで、ID =#{}から..
(SQLのパラメータの責任)2.PrameterHandler:SQLにおけるプロセスパラメータオブジェクト
3.Executor
4.ResultSetHandler:結果セットをSQLリターンを処理します
1.5MyBatis 4つのプロセッサ
StatementHandler、PrameterHandler、ResultSetHandler
左A:TypeHandler(型コンバータ)
1 1.6 1、多くの1つ、遅延ロード
マンツーマン
用途<このresultMap>で<関連> 1つの遅延ロード: 使用 <このresultMap>で<関連> select属性に指定された遅延ロードのSQL文 <このresultMap> <協会選択= "遅延ロードのSQL文"> <<協会>> </このresultMap>
多く:
関連変わっコレクション内の1
2.Spring
IOC / DI:コントロール/ DIの反転
目的:デカップリング
>モードファクトリー - Student2の学生は=新しいStudent2()は、高度に結合された新しいの使用になります
クラス - >新しい - >オブジェクト
クラス - >ファクトリーモード - >オブジェクトは、達成することができデカップリング、質問です:あなた自身の工場を記述する必要が
IOCは:IoCのは、私たちは工場を提供するのに役立ちます。1.塗りつぶしオブジェクト(構成[XML、コメント])植物からオブジェクトを取得するための2つの工場
概要:IOCは私たちは、「設定モード」を通じてオブジェクトを作成することができます
AOP:アスペクト指向プログラミング
OOP(オブジェクト指向)サプリメントの、交換しないで
AOPを使用するメリット
AOPの実際のシーンを使用します。
ログ、セキュリティと団結チェック
春は、これらのデザインパターンを使用しています
Factoryパターン:Beanを作成し、豆の取得
シングルトン/原型パターン:Beanを作成する場合、範囲を設定し、シングルトン/プロトタイプ
リスニングモード:カスタム出版時間、リスニングモード。アクションがトリガされたときApplicationListenerとして、それは自動的に通知を実行します。
Chain of Responsibilityパターン:AOP
戦略モード:エージェントを作成します。
3.SpringMvc
SpringMvc実施プロセス
4.SpringBoot
最主要的功能:自动装配
以前(不用spring boot),需要自己配置框架的配置文件。
spring,mybatis ,SSM整合等情况 需要编写一大堆配置文件。
如果使用Spring Boot,则可以省略配置 。 好处:将开发重点放在业务逻辑上,而不是配置上。
自动装配的原理? 约定优于配置 (核心:将一些配置功能,前置到源码底层实现好)
自动装配两个特点:
1.版本仲裁中心:因此,以后引入依赖时,不用再写版本号。好处:1.不用记 2.避免冲突(防止引入多个引来时,由于各个依赖的版本不兼容造成的冲突)
2.提供了很多starter(场景启动器) :批量jar。
假设开发web项目 ( json.jar tomcat.jar hibernate-validator.jar, spring-web.jar ... ) => spring-boot-starter-web.
以后使用web项目,只需要引入spring-boot-starter-web
自动装配的应用时: @EnableAutoConfiguration 就是springboot提供自动装配的 注解。
5.Spring Cloud
Spring Cloud:微服务治理框架
Eureka:服务注册中心,类似于dubbo中的zookeeper
需要注意:Eureka Client有两个角度:如果站在eureka来看,是一个 客户端;如果站在系统角度来看,是一个服务端。
6.Ribbon
客户端负载均衡工具
7.Feign
声明式客户端负载均衡工具
Feign是建立在Ribbon之上。
Feign与Ribbon的区别: Ribbon面向URI地址的;Feign面向接口的
8.熔断器
熔断器:Hystrix
解决服务雪崩:熔断器
备用方法b2通常是错误提示或者日志记录
@HystrixCommand(fallbackMethod="b2") public void a() { b();//远程 } puyblic void b2() { ... }