发表于: 2019-11-14 19:56:12
1 936
一、今天完成的事
1.springboot-elasticsearch
1.Spring Data通过注解来声明字段的映射属性,有下面的三个注解:
@Document
作用在类,标记实体类为文档对象,一般有两个属性
indexName:对应索引库名称
type:对应在索引库中的类型
shards:分片数量,默认5
replicas:副本数量,默认1
@Id
作用在成员变量,标记一个字段作为id主键
@Field
作用在成员变量,标记为文档的字段,并指定字段映射属性:
type:字段类型,是枚举:FieldType,可以是text、long、short、date、integer、object等
text:存储数据时候,会自动分词,并生成索引
keyword:存储数据时候,不会分词建立索引
Numerical:数值类型,分两类
基本数据类型:long、interger、short、byte、double、float、half_float
浮点数的高精度类型:scaled_float
需要指定一个精度因子,比如10或100。elasticsearch会把真实值乘以这个因子后存储,取出时再还原。
Date:日期类型
elasticsearch可以对日期格式化为字符串存储,但是建议我们存储为毫秒值,存储为long,节省空间。
index:是否索引,布尔类型,默认是true
store:是否存储,布尔类型,默认是false
analyzer:分词器名称,这里的ik_max_word即使用ik分词器
2.学习springcloud
elasticsearch 有点难度,先转学习springcloud再去学
1.springcloud简介
spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外对于“微服务架构” 不了解的话,可以通过搜索引擎搜索“微服务架构”了解下。
2.idea父子项目
通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。 这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。 所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。
1.创建新项目
配置好路径之后finish
3.修改pom.xml
修改打包方式为pom 作为父项目存在 。
<packaging>pom</packaging>
增加 hutool jar 和 junit 包的依赖,用于后来子项目里观察对其的调用。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--java工具类库-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.3.1</version>
</dependency>
</dependencies>
4.创建子项目
所谓的子项目,其实是maven module. 右键点击 parentMavenProject->New->Module.
同样选择archetype-quickstart
5.TestHutool
在 childMavenProject 下新建 TestHutool类,并运行。 可以发现,是可以使用 hutool jar 里的类的。 这说明子项目,能够使用 父项目中的 jar 包了
package com.ksy.springcloud;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
/**
* @author Admin
* @PackageName com.ksy.springcloud
* @ClassName springcloud
* @Description
* @create 2019-11-14 19:46
*/
public class TestHutool {
public static void main(String[] args) {
String dateStr = "2012-12-12 12:12:12";
Date date = DateUtil.parse(dateStr);
System.out.println(date);
}
}
点击运行
在子项目中就可以看到多了个parent
<parent>
<artifactId>springcloud</artifactId>
<groupId>com.ksy.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
这个就是对父项目的依赖
此时再打开父项目的 pom.xml ,可以发现它多了这么一个模块s, 就表示对子项目的关联。
<modules>
<module>clientSpringCloud</module>
</modules>
先搞到这里,明天继续
二、遇到的问题
解决昨天的bug,把项目移动到新电脑上运行不了的问题 找到原因是
在原来的idea上是直接export setting把之前的设置迁徙到新的idea上,但是在maven设置中
local repository配置的还是原来的路径,导致包没有导入。修改之后,重新导包,然后输入mvn clean,重新运行就能正常访问了。
三、收获
四、明天的计划
springcloud-demo
评论