您好,登錄后才能下訂單哦!
/**
* 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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。