《Spring Boot 企业级应用开发实战》是一本由柳伟卫著作,北京大学出版社出版的平装图书,本书定价:98,页数:442,文章吧小编精心整理的一些读者的读后感,希望对大家能有帮助。
《Spring Boot 企业级应用开发实战》读后感(一):企业级应用中Spring Data Elasticsearch与ES的关系
ring Data Elasticsearch 与 Elasticsearch 其实是两个不同的产品。本文带你简单的了解下,Spring Data Elasticsearch 与 Elasticsearch 的关系。
## Elasticsearch
Elasticsearch 是 NoSQL 之一,是用于构建大数据全文检索的利器。见课程(https://coding.imooc.com/class/125.html)。Elasticsearch 是采用 Java 编写的,提供丰富的 API 可供用户选择。
学习使用这些 API 是有学习成本的。要完全掌握整套 API 可能需要数月的时间。那么,怎么办呢?是否有速成的方式,来让用户快速上手呢?答案就是 Spring Data Elasticsearch。
## Spring Data Elasticsearch
ring Data Elasticsearch 拥有与 Spring Data 家族其他成员(如 Spring Data JPA)通用的接口,这样,只要你学会了 Spring Data的接口,就可以胜任任何存储设备的使用,不管是关系型数据库MySQL、SQL Server、Oracle 还是NoSQL 譬如Elasticsearch 、MongoDB 等,都可以享用统一接口带来的便利,简直简单的不要不要哦~
以下就是一个例子:
```java
interface PersonRepository extends Repository<Person, Long> {
List<Person> findByLastname(String lastname);
}
```
我们要先声明一个业务相关的接口 PersonRepository。 PersonRepository 继承自 Repository 即可。无需写具体的实现代码。
```java
class SomeClient {
rivate final PersonRepository repository;
omeClient(PersonRepository repository) {
this.repository = repository;
}
void doSomething() {
List<Person> persons = repository.findByLastname("Lau");
}
}
```
而后,注入这个接口即可使用了,而具体的实现 Spring Data Elasticsearch 会帮我们提供。是否很 Cool!
当然,这个 findByLastname 方法名称的定义还是有讲究的,要符合 Spring Data 的语意。这样 Spring Data 就会自动解析,猜测按照你定义的这个方法名,来生成相应的查询语句。从这个方法名字,我们一眼就能看出来,这个一个根据 Lastname 字段来查找 Person 的语句。
## 总结
任何技术都有优缺点,使用技术一定要符合自己业务的需要。使用 Spring Data Elasticsearch 还是 Elasticsearch 原生 API ,要自己去做评估。
Elasticsearch 原生 API 好处就是可以第一时间用到 Elasticsearch 的新特性。缺点的学习成本高。
用 Spring Data 的好处是,用统一的接口,适配所有不同的存储类型,如SQL、NoSQL 等等。缺点是,有时候适配的版本要比原生的 API 要慢。这个取决于 Spring Data Elasticsearch 团队的开发速度了。见“Spring Data Elasticsearch与Elasticsearch的版本关系”(https://www.imooc.com/article/19873)。
## 参考资料
* Spring Boot 教程:<https://github.com/waylau/spring-boot-tutorial>
* Spring Cloud 教程:<https://github.com/waylau/spring-cloud-tutorial>
* https://www.imooc.com/article/19873
《Spring Boot 企业级应用开发实战》读后感(二):Spring Boot设置Hibernate DDL
在课程中,我们经常推荐如下配置:
```
ring.jpa.hibernate.ddl-auto=create-drop
```
使用该配置,Spring Boot 应用在启动过程中,就能根据实体,来自动映射成为数据库的表结构。create-drop 意味着,创建表结构前,会把之前已经存在的表结构先 drop掉。好处在于,每次的表结构都是全新的。
当然,也有学员产生了困扰。好不容易在表结构中创建了一堆的数据,结果重启了应用之后,就都drop掉,不见了。非常着急。
其实,很简单,只需设置 spring.jpa.hibernate.ddl-auto 配置即可。spring.jpa.hibernate.ddl-auto 的配置与 Hibernate 相似,除了 create-drop 外,还有 none, validate, update, create 等几个配置项。每个项含义如下:
* validate 加载hibernate时,验证创建数据库表结构
* create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
* create-drop 加载hibernate时创建,退出是删除表结构
* update 加载hibernate自动更新数据库结构
所以,如果你想保留表结构的数据,使用 update即可。
《Spring Boot 企业级应用开发实战》读后感(三):使用 Bootstrap 4 正式版重新定义网站的新Style!
2018年01月18日,Bootstrap 4.0.0 正式版现已发布,更新内容方面,相对于之前的测试版(Beta版本),正式版没有重大的改变,但做出了一些关键的改进,并解决了一些棘手的错误。

ootstrap 4.0.0 的每个示例都了重大修改,其中删除了一些过时的示例,添加了一些新的示例,并且彻底改变了其他一些示例。官方示例,可见 <https://getbootstrap.com/docs/4.0/examples/>。
ootstrap 的主题今年将得到重大更新,官方表示将会推出十个全新的主题。当前的目标是第一季度推出的主题都建立在 Bootstrap 4 上(都没有 v3 版本的)。
那么,是否有实际的例子能够让 Bootstrap 4 真正在您的项目落地呢?是否有在真实项目中使用过呢?答案是肯定的。“基于Spring Boot 企业级博客系统实战”课程(<https://coding.imooc.com/class/125.html>)以及本书中的案例,早就在半年之前就开始使用 Bootstrap 4 了,很多该课程的学员都在自己搭建的博客系统中领略到了这个版本所带来的开发的便利。可以说,该课程非常全面的展示了 Bootstrap 4 的新特性。
以下就是书中真实使用 Bootstrap 4 的博客系统界面展示:

所以,如果您是专注于后端的开发者,苦于没有牛逼的UI设计师,那么,这块前端的框架利器,正适合您。赶快来学习新技术吧~