banner
The article archive

云间连下榻,
天上接行杯。

Scroll down
SpringBoot

写在前面

前段时间在浏览开源社区的时候,不小心看到一个 12306抢票 系统,一下就被吸引住了,然后就动力歪念头😏,过年终于不用找黄牛了,哇哈哈哈,写了差不多一个星期,终于可以全自动抢票了,中间遇到的坑也是挺多的,在这里分享一下,供大家参考学习。

异常描述

  1. 使用的SpringBoot1.5.9版本
  2. JDK1.8
  3. 使用了dubbo和zookeeper
  4. elasticsearch使用的6.3.2版本
  5. 引入ES的jar包
    1
    2
    3
    4
    <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    </dependency>

异常描述

  1. 使用的SpringBoot1.5.9版本
  2. JDK1.8
  3. 使用了dubbo和zookeeper

安装2.0.0的elasticsearch服务,项目是依赖spring-boot1.5.9.RELEASE版本,指定了elasticsearch版本,否则无法使用

一、简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

官方github:https://github.com/ctripcorp/apollo

作者对Apollo对介绍:https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E4%BB%8B%E7%BB%8D

异常描述

新建了一个项目,我自己的服务器安装了一个redis,安装的时候,基本上都是默认参数,然后SpringBoot配置如下:

1
2
3
4
spring:
redis:
cluster:
nodes: qianxunclub.com:6666

写在前面

SpringBoot咱们开发一般pom.xml是都集成spring-boot-starter-parent的,这里为什么要自定义一个starter-parent呢,主要以下几个理由:

  1. 定义开发规范:自定义parent可以制定统一配置和依赖规范
  2. 提高开发效率
  3. 统一模块插件化管理:可以在parent实现需要的插件配置,如:redis、mysql、日志、参数校验等
  4. 项目版本升级和依赖包升级更加方便统一
  5. 日志收集等可以从切面获取各个项目数据和日志等
  6. 项目持续集成部署交付方便处理

异常描述

之前项目是dubbo的,分为两个服务,service数据层和web请求控制,使用dubbo互相调用的,现在要把dubbo去掉,使用SpringCloud的eureka了,要把两个合并成一个项目,这里并不是要把所有代码复制过去,而是把service使用maven引用到web项目里面,然后修改对应的配置和包路劲,启动的时候,竟然报错了,编译是没有任何问题的。

引入maven包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.9.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>

<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.1-b08</version>
</dependency>
1
请输入关键词进行搜索