广告投放系统启动主类说明

/**

* sponsorapplication for 广告赞助商/投递服务启动类

* 添加注解{@link enablefeignclients}之后,当前微服务就可以调用别的微服务,

* 但是当前服务是广告提供,不需要调用别的微服务,在此只是为了在dashboard中监控

* {@link enablecircuitbreaker} 也是为了dashboard监控

*

* @author isaac.zhang

* @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 isaac.zhang

* @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 isaac.zhang

*/

@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上下载源码。------

做一个好人。

------

| | | | | oschina | | | | 51cto

希望与广大网友互动??

点此进行留言吧!

java广告投放系统_[Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类...相关推荐

  1. feign响应拦截_[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用

    上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...

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

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

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

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

  4. [Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备...

    MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中. binlog 的作用? 最主要有3个用途: 数据复制( ...

  5. [Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告

    广告检索服务 功能介绍 媒体方(手机APP打开的展示广告,走在路上看到的大屏幕广告等等) 请求数据对象实现 从上图我们可以看出,在媒体方向我们的广告检索系统发起请求的时候,请求中会有很多的请求参数信息 ...

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

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

  7. [Spring cloud 一步步实现广告系统] 20. 系统运行测试

    系统运行 经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it. 清除测试数据&测 ...

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

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

  9. [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用

    上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...

最新文章

  1. Windows 64位机上C/C++代码静态检查工具Logiscope RuleChecker的安装和使用
  2. “光纤之父”高锟离世,感谢他的贡献
  3. PostgreSQL — 安装
  4. 全球及中国小型风电产业未来前景展望及发展形势分析报告2021-2027年
  5. 使用TVP批量插入数据
  6. IOS libxml/tree.h file not found 解决方案
  7. vue中webpack默认配置_webpack中Entry与Output的基础配置
  8. beanutils获取带参数get方法
  9. L1-024. 后天-PAT团体程序设计天梯赛GPLT
  10. React-概念和基本使用
  11. shell之提取头文件
  12. vb杨辉三角代码编写_如何用VB编程输出杨辉三角?
  13. Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) E. Vasya and Good Sequen
  14. Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案
  15. NRF24L01的配置详解
  16. MacOS安装的VMware Fusion设置端口映射
  17. Idea自带Maven引入依赖抛错Could not transfer artifact 的几个处理思路
  18. Python爬虫之实例---用selenium爬取网易云评论
  19. safari的java扩展_用 Web 技术为 Safari 编写扩展
  20. 家装APP开发解决方案

热门文章

  1. python字符串与文本处理技巧(3):字符剔除、字符对齐、字符拼接、字符插入变量
  2. 在js文件中引用别的js文件的方法
  3. 嵌入式FreeRTOS系统,在中断中调用FreeRTOS系统的API函数
  4. 一步步用zTree(2)
  5. 在 C 中引用汇编语言定义的 .globl 变量
  6. LC_ALL=C表示什么?
  7. 怎么理解回调函数? 回调函数合集
  8. 百斗度输入法linux,斗字输入法安卓版-斗字输入法app下载-最火软件站
  9. Bit-Z推出去中心化多链钱包CoinU 打造资产价值生态体系
  10. Android PC投屏简单尝试(录屏直播)3—软解章(ImageReader+FFMpeg with X264)