今天是第一次接觸到 這個場景啟動器內心中真是一片的茫然,學習了這么長時間我居然還不知道有這個的存在今天好好查一查資料
參考資料(https://blog.csdn.net/crq1205/article/details/88040582)
MyBatis-Spring-Boot-Starter依賴將會提供如下
1.自動檢測現有的DataSource
2.將創建並注冊SqlSessionFactory的實例,該實例使用SqlSessionFactoryBean將該DataSource作為輸入進行傳遞
3.將創建並注冊從SqlSessionFactory中獲取的SqlSessionTemplate的實例。
4.自動掃描您的mappers,將它們鏈接到SqlSessionTemplate並將其注冊到Spring上下文,以便將它們注入到您的bean中。
5.使用了該Starter之后,只需要定義一個DataSource即可(application.properties或application.yml中可配置),它會自動創建使用該DataSource的SqlSessionFactoryBean以及SqlSessionTemplate。會自動掃描你的Mappers,連接到SqlSessionTemplate,並注冊到Spring上下文中。
src\main\resources\application.yml
個人覺得目前我們使用springboot的快速啟動工具好像已經對其進行了封裝 應該不許要對其進行特別的聲明,經過我的驗證這猜想是錯的,那個內置的@mapper注解
還是需要寫sql語句的。但是這個已經定義了最基本的sql語句,所以功能上跟jpa很類似。待續。。。。。
====================================================================================
作為一個剛接觸分布式的小白,我這里就記錄一下我所了解到的知識如有錯誤望多指教
1.
<dependencyManagement> <dependencies> <!-- springCloud --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- springBoot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--WEB先關依賴--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servletapi.version}</version> </dependency> <!--dao 相關依賴--> <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>${persistence.version}</version> </dependency> <!-- 通用Mapper啟動器 --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>${mapper.starter.version}</version> </dependency> <!-- 分頁助手啟動器 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>${pageHelper.starter.version}</version> </dependency> <!--Druid啟動器--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.starter.version}</version> </dependency> <!-- mysql驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> </dependencies> </dependencyManagement>
對就是介紹一個下這個</dependencyManagement> 的作用它是在分布式中的父項目中出現的
參考:(https://blog.csdn.net/helllochun/article/details/81564921)
作用: 使用dependencyManagement可以統一管理項目的版本號,確保應用的各個項目的依賴和版本一致,不用每個模塊項目都弄一個版本號,不利於管理,當需要變更版本號的時候只需要在父類容器里更新,不需要任何一個子項目的修改;如果某個子項目需要另外一個特殊的版本號時,只需要在自己的模塊dependencies中聲明一個版本號即可。子類就會使用子類聲明的版本號,不繼承於父類版本號。
與dependencies區別:
1)Dependencies相對於dependencyManagement,所有生命在dependencies里的依賴都會自動引入,並默認被所有的子項目繼承。
2)dependencyManagement里只是聲明依賴,並不自動實現引入,因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,並且沒有指定具體版本,才會從父項目中繼承該項,並且version和scope都讀取自父pom;另外如果子項目中指定了版本號,那么會使用子項目中指定的jar版本。