广告投放系统启动主类说明
/**
* SponsorApplication for 广告赞助商/投递服务启动类
* 添加注解{@link EnableFeignClients}之后,当前微服务就可以调用别的微服务,
* 但是当前服务是广告提供,不需要调用别的微服务,在此只是为了在dashboard中监控
* {@link EnableCircuitBreaker} 也是为了dashboard监控
*
* @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang</a>
* @since 2019/6/15
*/
@EnableDiscoveryClient //开启服务发现Eureka Client
@EnableCircuitBreaker //开启断路器
@EnableFeignClients //开启feign client,使其可以通过HTTP调用其他微服务
@SpringBootApplication
public class SponsorApplication {
public static void main(String[] args) {
SpringApplication.run(SponsorApplication.class, args);
}
}
配置信息
server:
port: 7000
servlet:
context-path: /ad-sponsor #http请求的根路径(请求前缀,在handle的mapping之前,需要127.0.0.1/ad-sponsor/XXXX)
spring:
application:
name: mscx-ad-sponsor
jpa:
show-sql: true #执行时是否打印sql语句,方便调试
hibernate:
ddl-auto: none
properties:
hibernate.format_sql: true
open-in-view: false #控制是否在懒加载时,有可能会找不到bean报错
datasource:
username: ***
url: jdbc:mysql://127.0.0.1:3306/advertisement?useSSL=false&autoReconnect=true
password: ***
tomcat:
max-active: 4 #最大连接数
min-idle: 2 #最小空闲连接数
initial-size: 2 #默认初始化连接数
eureka:
client:
service-url:
defaultZone: http://server1:7777/eureka/,http://server2:8888/eureka/,http://server3:9999/eureka/
创建实体对象

实体类和数据库表一般是一一对应,通常称之为entity,以用户表为例:Lombok传送门

/**
* AdUser for 数据库ad_user表对应的实体类
* {@link Basic} 标示为数据库的字段信息,如果需要一个不属于数据库的字段,标注为 {@link Transient}
*
* @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang</a>
* @since 2019/6/15
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "ad_user")
public class AdUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id", nullable = false)
private Long userId; @Basic //不写的话,默认就是@Basic,表示是数据库表的一个字段
//@Transient //如果打上@Transient 注解,表明当前字段不是表中的字段
@Column(name = "user_name", nullable = false)
private String userName; @Basic
@Column(name = "token", nullable = false)
private String token; @Basic
@Column(name = "user_status", nullable = false)
private Integer userStatus; @Basic
@Column(name = "create_time", nullable = false)
private Date createTime; @Basic
@Column(name = "update_time", nullable = false)
private Date updateTime; /**
* 创建用户时所需的必填字段
*
* @param user_name 用户名称
* @param token token
*/
public AdUser(String user_name, String token) {
this.userName = user_name;
this.token = token;
this.userStatus = CommonStatus.VALID.getStatus();
this.createTime = new Date();
this.updateTime = this.createTime;
}
} ---
/**
* CommonStatus for 通用状态枚举
*
* @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang</a>
*/
@Getter
public enum CommonStatus {
VALID(1, "有效"),
INVALID(0, "无效状态"); private Integer status;
private String desc; CommonStatus(Integer status, String desc) {
this.status = status;
this.desc = desc;
}
}

其他的数据库对应实体类(AdUnit,AdPlan,AdCreative,AdUnitDistrict,AdUnitHobby,AdUnitKeyword,RelationshipCreativeUnit),大家可以参考上面的例子自己实现,也可以去github上下载源码。------

做一个好人。

博客园 | segmentfault | spring4all | csdn | 掘金 | OSChina | 简书 | 头条 | 知乎 | 51CTO

[Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类的更多相关文章

  1. [Spring cloud 一步步实现广告系统] 8. 检索系统配置&依赖

    工作流程 项目依赖 <dependencies> <!-- hystrix 监控面板 --> <dependency> <groupId>org.spr ...

  2. [Spring cloud 一步步实现广告系统] 7. 中期总结回顾

    在前面的过程中,我们创建了4个project: 服务发现 我们使用Eureka 作为服务发现组件,学习了Eureka Server,Eureka Client的使用. Eureka Server 加依 ...

  3. [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard

    在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件. ...

  4. [Spring cloud 一步步实现广告系统] 21. 系统错误汇总

    广告系统学习过程中问题答疑 博客园 Eureka集群启动报错 Answer 因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Co ...

  5. [Spring cloud 一步步实现广告系统] 2. 配置&Eureka服务

    父项目管理 首先,我们在创建投放系统之前,先看一下我们的工程结构: mscx-ad-sponsor就是我们的广告投放系统.如上结构,我们需要首先创建一个Parent Project mscx-ad 来 ...

  6. [Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结

    到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统. 整个广告系统编码结构如下: mscx-ad 父模块 主要是为了方便我们项目的统一管理 mscx-ad-db 这 ...

  7. [Spring cloud 一步步实现广告系统] 1. 业务架构分析

    什么是广告系统? 主要包含: 广告主投放广告的<广告投放系统> 媒体方(广告展示媒介-)检索广告用的<广告检索系统> 广告计费系统(按次,曝光量等等) 报表系统 Etc. 使用 ...

  8. [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现

    上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护.因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能. 我们来定义一个接口, ...

  9. [Spring cloud 一步步实现广告系统] 6. Service实现&Zuul配置&Test

    DAO层设计实现 这里我们使用Spring DATA JPA来实现数据库操作,当然大家也可以使用Mybatis,都是一样的,我们依然以用户表操作为例: /** * AdUserRepository f ...

随机推荐

  1. hdu 1054 Strategic Game (简单树形DP)

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. php调用新浪API生成t.cn短网址链接

    新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. API: http://api.t.sina.com.cn/short_url/shorten.json ( ...

  3. java基础-初识类

    一 前言 在 <[java基础]-谈谈对面向对象理解 >一文中已经知道什么是对象,如何创建对象:这篇文章主讲对象的类型,简称类: 二 类介绍 2.1 类 每个对象都有一个类型,通常在所有的 ...

  4. springboot启动原理解析

    springboot核心原理: 1.基于springmvc无配置文件完全注解化 + 内置web容器实现springboot框架.main函数方式的启动 2.通过maven快速整合第三方框架 sprin ...

  5. 在项目中在线使用Iconfont图标

    Iconfont真的很强大,图标数量惊人,基本任意的关键词都能搜索到你想要的结果.而且是国产的,网速会比较快,还可以改变图标颜色. 它提供svg.png.ai三种格式下载,之前我一直都是乖乖的一个个下 ...

  6. MS14-068(CVE-2014-6324)域控提权利用及原理解析

    漏洞利用 0x01 漏洞利用前提 1.域控没有打MS14-068的补丁(KB3011780) 2.拿下一台加入域的计算机 3.有这台域内计算机的域用户密码和Sid 0x02 工具下载 Ms14-068 ...

  7. Flutter报错记录

    1.Could not find an option named "androidx". Run 'flutter -h' (or 'flutter   -h') for avai ...

  8. git到GitHub的操作和遇到的一些问题

    一.新建完项目后执行git git status //查看状态,任何时候都可以用 1. git init //初始化文件夹,并创建.git本地仓库(.git默认隐藏) 2. git add . //把 ...

  9. BIM工程信息管理系统搭建-系统功能需求

    BIM工程信息管理系统功能需求 该系统是真实存在项目,项目于2013年开始研发到2014年初完成,按照当时技术能力和国内BIM现状,现在BIM技术已比之前好多了,不管是建模.展示等.均提高了不少,本博 ...

  10. Linux7 64安装 oracle 11g Error in invoking target 'agent nmhs' of makefile

    在makefile中添加链接libnnz11库的参数修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMA ...