当前位置: 首页 > news >正文

编程跟做网站关键词优化的建议

编程跟做网站,关键词优化的建议,如需郑州网站建设,福建漳州东山建设局官方网站如果你项目中一直用的是 Spring Boot,那么恭喜你没有经历过用 Spring 手动集成其它框架的痛苦。 都说 Spring Boot 大大简化了 Spring 框架开发 Web 应用的难度,这里我们通过配置 Hibernate 的两种方式来深刻体会这一点: 使用 Spring 框架集…

如果你项目中一直用的是 Spring Boot,那么恭喜你没有经历过用 Spring 手动集成其它框架的痛苦。

都说 Spring Boot 大大简化了 Spring 框架开发 Web 应用的难度,这里我们通过配置 Hibernate 的两种方式来深刻体会这一点:

  • 使用 Spring 框架集成 Hibernate 手动配置
  • 使用 Spring Boot 集成 Hibernate 自动配置

Hibernate 手动配置

我们先来看看,手动配置 Hibernate 有多么麻烦。
在这里插入图片描述

第一步、引入JAP依赖
<!-- JPA 的相关依赖 -->
<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 实现 -->
<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>
第三步、引入数据库相关的依赖
<!-- JDBC 驱动程序 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version>
</dependency><!-- 数据库连接池 -->
<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.10.0</version>
</dependency>

这么多个包,用哪些包?用什么版本?一般人谁记得住!
更糟糕的是,如果运气不好,你还得花很多时间解决各个依赖之间的兼容问题

这还只是持久层的相关依赖,如果还要集成其它框架,工作量非常大!

第四步、配置数据源

在applicationContext.xml 中配置各种bean。
首先要配置的是数据源!

<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>
第五步、配置实体管理器

定义实体管理器的 bean,并设置 JPA 实现类(如 Hibernate)、数据源等属性。

注意在早期的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>
第六步、配置事务管理器

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
第七步、开启注解式事务
<tx:annotation-driven transaction-manager="transactionManager"/>
第八步、编写持久层代码

到这里,你终于把 JPA (Hibernate) 用Spring集成好了,并且配置好了。
终于你可以开始动手写代码了。

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

Hibernate 自动配置

在前面,我们经历千辛万苦终于用Spring 集成 Hibernate框架,并且配置好了。好了接下来,你还要集成 Web、集成 Spring Security等等,你会不会暗暗叫苦呢?

前面的手动配置存在很明显的缺陷:

  • 集成某个框架,我们需要记住所有必要的依赖;不然很容易抛出 NoSuchClassException 的异常。
  • 我们还需要谨慎使用相关依赖的版本;不然很容易出现版本不兼容的情况。
  • 上面的依赖和xml配置是模块化的配置;100个项目有99个基本一致。

还在,Spring Boot 带来了自动配置的机制,它帮我们悄悄的完成了绝大部分的工作。

下面,我们看看通过Starter 和 自动配置,集成和配置 Hibernate有多么的简易!
在这里插入图片描述

第一步、引入starter-data-jpa
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
第二步、引入数据库驱动
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version>
</dependency>
第三步、配置数据库连接信息

application.properties中配置数据库信息

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 对 Hibernate的集成!

看看我们做了什么:

  • 依赖中引入 starter-data-jpa 和 mysql驱动两个依赖!
  • 只在主配置中配置了数据库账号密码等最基本信息!

其它的事情,全部有 starter 和 自动配置机制完成!

对比

starter

我们引入了一个 starter 依赖,基本完成所有的依赖的配置。
可以看到传递依赖,会把必要的依赖都自动包含进来!
在这里插入图片描述

自动配置

对于配置,其实就更容易理解了!其实我们在“手动配置”中做的事情,都是必须的,比如创建配置 DataSourceentityManagerFactorytransactionManager 这些bean 并注入到Spring 容器中。

只不过,自动配置机制偷偷的帮我们做完了一切。

总结

通过手动配置和自动配置两种方式集成 一个框架,我们可以强烈的感受到 Spring Boot的starter自动配置机制的强大。

这对于我们专栏后面,从原理和源码级别理解 starter 和 自动配置 机制是非常非常有帮助的!欢迎大家点赞收藏!后续的文章,我们会更深层次的角度去学习这两个重点。

http://www.ds6.com.cn/news/88549.html

相关文章:

  • 在线做热图的网站网站推广包括
  • 厦门专业做网站的公司优化神马网站关键词排名价格
  • 保定网站开发微信管理软件哪个最好
  • 专业建设信息化网站资源百度首页的ip地址
  • 佛山专业的网站建设nba最新比赛直播
  • 原创文章对网站的好处成功品牌策划案例
  • 佛山做外贸网站渠道长春网站建设方案报价
  • 电脑上如何做课程视频网站seo免费系统
  • 佛山微网站建设 天博如何推广公众号
  • 南昌专门做网站的公司人员优化是什么意思
  • 食品包装袋设计免费seo教程
  • 怎样用网站做淘宝客网络推广哪个平台最好
  • 公司做网站需要多少钱地推app接任务平台
  • 今天全国疫情信息seo搜外
  • 怎么做企业销售网站百度指数下载手机版
  • 网站后台数据应该怎么做网址提交百度收录
  • 网站关键词修改站长工具seo综合查询关键词
  • 网站-网站建设定制互联网推广工作好做吗
  • 没有注册公司可以做网站吗北京seo助理
  • 国展做网站的公司百度风云榜各年度小说排行榜
  • 标志设计ppt课件百度seo优化多少钱
  • 网站制作软件排行榜企业宣传推广
  • web地址优化方案官网电子版
  • 网站有权重可以对title做更改如何在百度上添加自己的店铺
  • dw做网站视频教程淘宝店怎么运营和推广
  • 品牌购买网站seo的优化流程
  • 一个专门做ppt的网站吗天天seo站长工具
  • 中国人在国外做赌博网站代理营销推广策略有哪些
  • 自然人做音频网站违法吗凡科建站下载
  • 网站备案填了虚假座机能过吗上海seo网站策划