java广告投放系统_[Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类...
广告投放系统启动主类说明
/**
* 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. 投放系统配置+启动+实体类...相关推荐
- feign响应拦截_[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...
- [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard
在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件. ...
- [Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结
到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统. 整个广告系统编码结构如下: 1.mscx-ad 父模块 主要是为了方便我们项目的统一管理 2.mscx-ad- ...
- [Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备...
MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中. binlog 的作用? 最主要有3个用途: 数据复制( ...
- [Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告
广告检索服务 功能介绍 媒体方(手机APP打开的展示广告,走在路上看到的大屏幕广告等等) 请求数据对象实现 从上图我们可以看出,在媒体方向我们的广告检索系统发起请求的时候,请求中会有很多的请求参数信息 ...
- [Spring cloud 一步步实现广告系统] 21. 系统错误汇总
广告系统学习过程中问题答疑 博客园 Eureka集群启动报错 Answer 因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Co ...
- [Spring cloud 一步步实现广告系统] 20. 系统运行测试
系统运行 经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it. 清除测试数据&测 ...
- [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现
上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护.因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能. 我们来定义一个接口, ...
- [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Por ...
最新文章
- Windows 64位机上C/C++代码静态检查工具Logiscope RuleChecker的安装和使用
- “光纤之父”高锟离世,感谢他的贡献
- PostgreSQL — 安装
- 全球及中国小型风电产业未来前景展望及发展形势分析报告2021-2027年
- 使用TVP批量插入数据
- IOS libxml/tree.h file not found 解决方案
- vue中webpack默认配置_webpack中Entry与Output的基础配置
- beanutils获取带参数get方法
- L1-024. 后天-PAT团体程序设计天梯赛GPLT
- React-概念和基本使用
- shell之提取头文件
- vb杨辉三角代码编写_如何用VB编程输出杨辉三角?
- Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) E. Vasya and Good Sequen
- Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案
- NRF24L01的配置详解
- MacOS安装的VMware Fusion设置端口映射
- Idea自带Maven引入依赖抛错Could not transfer artifact 的几个处理思路
- Python爬虫之实例---用selenium爬取网易云评论
- safari的java扩展_用 Web 技术为 Safari 编写扩展
- 家装APP开发解决方案
热门文章
- python字符串与文本处理技巧(3):字符剔除、字符对齐、字符拼接、字符插入变量
- 在js文件中引用别的js文件的方法
- 嵌入式FreeRTOS系统,在中断中调用FreeRTOS系统的API函数
- 一步步用zTree(2)
- 在 C 中引用汇编语言定义的 .globl 变量
- LC_ALL=C表示什么?
- 怎么理解回调函数? 回调函数合集
- 百斗度输入法linux,斗字输入法安卓版-斗字输入法app下载-最火软件站
- Bit-Z推出去中心化多链钱包CoinU 打造资产价值生态体系
- Android PC投屏简单尝试(录屏直播)3—软解章(ImageReader+FFMpeg with X264)