国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

免抵退稅在哪個(gè)網(wǎng)站做北京新聞最新消息

免抵退稅在哪個(gè)網(wǎng)站做,北京新聞最新消息,學(xué)習(xí)java可以做網(wǎng)站嗎,做網(wǎng)站需要多大帶寬如果你項(xiàng)目中一直用的是 Spring Boot,那么恭喜你沒(méi)有經(jīng)歷過(guò)用 Spring 手動(dòng)集成其它框架的痛苦。 都說(shuō) Spring Boot 大大簡(jiǎn)化了 Spring 框架開(kāi)發(fā) Web 應(yīng)用的難度,這里我們通過(guò)配置 Hibernate 的兩種方式來(lái)深刻體會(huì)這一點(diǎn): 使用 Spring 框架集…

如果你項(xiàng)目中一直用的是 Spring Boot,那么恭喜你沒(méi)有經(jīng)歷過(guò)用 Spring 手動(dòng)集成其它框架的痛苦。

都說(shuō) Spring Boot 大大簡(jiǎn)化了 Spring 框架開(kāi)發(fā) Web 應(yīng)用的難度,這里我們通過(guò)配置 Hibernate 的兩種方式來(lái)深刻體會(huì)這一點(diǎn):

  • 使用 Spring 框架集成 Hibernate 手動(dòng)配置
  • 使用 Spring Boot 集成 Hibernate 自動(dòng)配置

Hibernate 手動(dòng)配置

我們先來(lái)看看,手動(dòng)配置 Hibernate 有多么麻煩。
在這里插入圖片描述

第一步、引入JAP依賴
<!-- JPA 的相關(guān)依賴 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>6.1.4</version>
</dependency>
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>3.2.4</version>
</dependency>
第二步、引入Hibernate依賴
<!-- Hibernate作為JPA 實(shí)現(xiàn) -->
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>5.4.30.Final</version>
</dependency>
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>5.4.30.Final</version>
</dependency>
第三步、引入數(shù)據(jù)庫(kù)相關(guān)的依賴
<!-- JDBC 驅(qū)動(dòng)程序 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version>
</dependency><!-- 數(shù)據(jù)庫(kù)連接池 -->
<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.10.0</version>
</dependency>

這么多個(gè)包,用哪些包?用什么版本?一般人誰(shuí)記得住!
更糟糕的是,如果運(yùn)氣不好,你還得花很多時(shí)間解決各個(gè)依賴之間的兼容問(wèn)題

這還只是持久層的相關(guān)依賴,如果還要集成其它框架,工作量非常大!

第四步、配置數(shù)據(jù)源

在applicationContext.xml 中配置各種bean。
首先要配置的是數(shù)據(jù)源!

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="driverClass" value="com.mysql.cj.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/><property name="user" value="root"/><property name="password" value="123456"/>
</bean>
第五步、配置實(shí)體管理器

定義實(shí)體管理器的 bean,并設(shè)置 JPA 實(shí)現(xiàn)類(lèi)(如 Hibernate)、數(shù)據(jù)源等屬性。

注意在早期的JPA版本中配置的是sessionFactory

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><property name="dataSource" ref="dataSource" /><property name="packagesToScan" value="com.example.domain" /><property name="jpaVendorAdapter"><bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /></property>
</bean>
第六步、配置事務(wù)管理器

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
第七步、開(kāi)啟注解式事務(wù)
<tx:annotation-driven transaction-manager="transactionManager"/>
第八步、編寫(xiě)持久層代碼

到這里,你終于把 JPA (Hibernate) 用Spring集成好了,并且配置好了。
終于你可以開(kāi)始動(dòng)手寫(xiě)代碼了。

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

Hibernate 自動(dòng)配置

在前面,我們經(jīng)歷千辛萬(wàn)苦終于用Spring 集成 Hibernate框架,并且配置好了。好了接下來(lái),你還要集成 Web、集成 Spring Security等等,你會(huì)不會(huì)暗暗叫苦呢?

前面的手動(dòng)配置存在很明顯的缺陷:

  • 集成某個(gè)框架,我們需要記住所有必要的依賴;不然很容易拋出 NoSuchClassException 的異常。
  • 我們還需要謹(jǐn)慎使用相關(guān)依賴的版本;不然很容易出現(xiàn)版本不兼容的情況。
  • 上面的依賴和xml配置是模塊化的配置;100個(gè)項(xiàng)目有99個(gè)基本一致。

還在,Spring Boot 帶來(lái)了自動(dòng)配置的機(jī)制,它幫我們悄悄的完成了絕大部分的工作。

下面,我們看看通過(guò)Starter 和 自動(dòng)配置,集成和配置 Hibernate有多么的簡(jiǎn)易!
在這里插入圖片描述

第一步、引入starter-data-jpa
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
第二步、引入數(shù)據(jù)庫(kù)驅(qū)動(dòng)
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version>
</dependency>
第三步、配置數(shù)據(jù)庫(kù)連接信息

application.properties中配置數(shù)據(jù)庫(kù)信息

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

到這里,我們就完成了 Spring Boot 對(duì) Hibernate的集成!

看看我們做了什么:

  • 依賴中引入 starter-data-jpa 和 mysql驅(qū)動(dòng)兩個(gè)依賴!
  • 只在主配置中配置了數(shù)據(jù)庫(kù)賬號(hào)密碼等最基本信息!

其它的事情,全部有 starter 和 自動(dòng)配置機(jī)制完成!

對(duì)比

starter

我們引入了一個(gè) starter 依賴,基本完成所有的依賴的配置。
可以看到傳遞依賴,會(huì)把必要的依賴都自動(dòng)包含進(jìn)來(lái)!
在這里插入圖片描述

自動(dòng)配置

對(duì)于配置,其實(shí)就更容易理解了!其實(shí)我們?cè)凇笆謩?dòng)配置”中做的事情,都是必須的,比如創(chuàng)建配置 DataSource、entityManagerFactory、transactionManager 這些bean 并注入到Spring 容器中。

只不過(guò),自動(dòng)配置機(jī)制偷偷的幫我們做完了一切。

總結(jié)

通過(guò)手動(dòng)配置和自動(dòng)配置兩種方式集成 一個(gè)框架,我們可以強(qiáng)烈的感受到 Spring Boot的starter自動(dòng)配置機(jī)制的強(qiáng)大。

這對(duì)于我們專(zhuān)欄后面,從原理和源碼級(jí)別理解 starter 和 自動(dòng)配置 機(jī)制是非常非常有幫助的!歡迎大家點(diǎn)贊收藏!后續(xù)的文章,我們會(huì)更深層次的角度去學(xué)習(xí)這兩個(gè)重點(diǎn)。

http://m.aloenet.com.cn/news/30788.html

相關(guān)文章:

  • 電商網(wǎng)站建設(shè)與運(yùn)營(yíng)seo專(zhuān)員工作容易學(xué)嗎
  • 順德新網(wǎng)站制作行業(yè)關(guān)鍵詞一覽表
  • 個(gè)人網(wǎng)站如何做專(zhuān)業(yè)的營(yíng)銷(xiāo)團(tuán)隊(duì)哪里找
  • 廣州做網(wǎng)站哪家好網(wǎng)站推廣怎么做有效果
  • 網(wǎng)站公安備案網(wǎng)址電商平臺(tái)怎么加入
  • 凡科免費(fèi)建設(shè)企業(yè)網(wǎng)站靠譜嗎個(gè)人做外貿(mào)怎樣起步
  • 電子商務(wù)網(wǎng)站建設(shè)花費(fèi)今日新聞?lì)^條新聞最新
  • 泗陽(yáng)城鄉(xiāng)建設(shè)局網(wǎng)站域名seo查詢
  • 百度優(yōu)化網(wǎng)站建設(shè)wordpress外貿(mào)獨(dú)立站
  • 網(wǎng)站維護(hù)需要會(huì)什么海外免費(fèi)網(wǎng)站推廣
  • 網(wǎng)站建設(shè)中代碼怎么自己做網(wǎng)頁(yè)
  • 網(wǎng)站設(shè)計(jì)與管理邯鄲百度推廣公司
  • 哪里有國(guó)內(nèi)網(wǎng)站建設(shè)公司淄博網(wǎng)站制作
  • 網(wǎng)站建站公司排名優(yōu)化網(wǎng)站的公司哪家好
  • 日照網(wǎng)站建設(shè)千萬(wàn)別在百度上搜別人名字
  • 杭州灣新區(qū)建設(shè)局網(wǎng)站seo優(yōu)化便宜
  • 學(xué)校網(wǎng)站建設(shè)軟件推薦免費(fèi)的h5制作網(wǎng)站
  • 建設(shè)網(wǎng)站建設(shè)什么掙錢(qián)互聯(lián)網(wǎng)品牌營(yíng)銷(xiāo)公司
  • 蘇州高端網(wǎng)站建設(shè)解釋seo網(wǎng)站推廣
  • 電腦做會(huì)計(jì)從業(yè)題目用什么網(wǎng)站最新新聞事件
  • 建設(shè)銀行網(wǎng)站個(gè)人中心大量微信群推廣代發(fā)廣告
  • axure怎么做網(wǎng)站引流推廣營(yíng)銷(xiāo)
  • c 網(wǎng)站開(kāi)發(fā)如何每天10點(diǎn)執(zhí)行任務(wù)東莞有哪些做推廣的網(wǎng)站
  • 浙江疫情最新消息2020seo超級(jí)外鏈工具免費(fèi)
  • 馬云早期在政府做網(wǎng)站學(xué)電商哪個(gè)培訓(xùn)學(xué)校好
  • 日本風(fēng)格網(wǎng)站seo快速優(yōu)化
  • 哪些企業(yè)網(wǎng)站做得好本地推薦本地推薦
  • 南京建設(shè)工程監(jiān)管網(wǎng)站營(yíng)銷(xiāo)100個(gè)引流方案
  • 怎樣做網(wǎng)站服務(wù)器亞馬遜關(guān)鍵詞搜索工具
  • 做網(wǎng)站要多長(zhǎng)時(shí)間重慶森林電影簡(jiǎn)介