基于SpringCloud微服务架构下的广告系统设计与实现 3

慕课网学习第三章:广告系统骨架开发
基于SpringCloud微服务架构下的广告系统设计与实现
3-1 Maven基础

基于SpringCloud微服务架构下的广告系统设计与实现 3_第1张图片
基于SpringCloud微服务架构下的广告系统设计与实现 3_第2张图片
Maven是一个项目构建和管理的工具,它提供了帮助管理构建、报告文档、依赖发布分发等等方法。它可以方便的编译代码,进行依赖管理,管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。
pom是指project object Model。pom是一个xml,在maven2里为pom.xml。是maven工作的基础,在执行task或者goal时,maven会去项目根目录下读取pom.xml获得需要的配置信息
pom文件中包含了项目的信息和maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等
pom是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的pom需要指定父模块的pom
pom文件中节点含义如下:

project pom文件的顶级元素
modelVersion 所使用的object model版本,为了确保稳定的使用,这个元素是强制性的。除非maven开发者升级模板,否则不需要修改
groupId 是项目创建团体或组织的唯一标志符,通常是域名倒写,如groupId  org.apache.maven.plugins就是为所有maven插件预留的
artifactId 是项目artifact唯一的基地址名
packaging artifact打包的方式,如jar、war、ear等等。默认为jar。这个不仅表示项目最终产生何种后缀的文件,也表示build过程使用什么样的lifecycle。
version artifact的版本,通常能看见为类似0.0.1-SNAPSHOT,其中SNAPSHOT表示项目开发中,为开发版本
name 表示项目的展现名,在maven生成的文档中使用
url表示项目的地址,在maven生成的文档中使用
description 表示项目的描述,在maven生成的文档中使用
dependencies 表示依赖,在子节点dependencies中添加具体依赖的groupId artifactId和version
build 表示build配置
parent 表示父pom

基于SpringCloud微服务架构下的广告系统设计与实现 3_第3张图片
基于SpringCloud微服务架构下的广告系统设计与实现 3_第4张图片
基于SpringCloud微服务架构下的广告系统设计与实现
3-2 Maven相关特性

基于SpringCloud微服务架构下的广告系统设计与实现 3_第5张图片
基于SpringCloud微服务架构下的广告系统设计与实现 3_第6张图片
基于SpringCloud微服务架构下的广告系统设计与实现 3_第7张图片
基于SpringCloud微服务架构下的广告系统设计与实现 3_第8张图片
基于SpringCloud微服务架构下的广告系统设计与实现
3-3 广告系统主工程

创建工程结构、编写pom文件
添加以下代码:
其中自主添加注册lombok。



    4.0.0

    com.imooc.ad
    imooc-ad
    pom
    1.0-SNAPSHOT

    imooc-ad-spring-cloud
    Project For Imooc Ad SpringCloud

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.2.RELEASE
    

    
        Finchley.RELEASE
    

    
        
            org.projectlombok
            lombok
            1.16.18
            provided
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud.dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    


基于SpringCloud微服务架构下的广告系统设计与实现 3_第9张图片
基于SpringCloud微服务架构下的广告系统设计与实现
3-4 单节点Eureka Server的开发

1.新建模块ad-eureka

2.在resources下创建application.yml文件
添加以下代码:

spring:
  application:
    name: ad-eureka

server:
  port: 8000

eureka:
  instance:
    hostname: localhost
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

基于SpringCloud微服务架构下的广告系统设计与实现 3_第10张图片
3.新建EurekaApplication类
目录结构为:
基于SpringCloud微服务架构下的广告系统设计与实现 3_第11张图片
EurekaApplication类添加以下代码:

package com.imooc.ad;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * 
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {

        SpringApplication.run(EurekaApplication.class, args);
    }
}

基于SpringCloud微服务架构下的广告系统设计与实现 3_第12张图片
最后进行测试。
基于SpringCloud微服务架构下的广告系统设计与实现 3_第13张图片
运行结果如下:
基于SpringCloud微服务架构下的广告系统设计与实现 3_第14张图片
打开网页测试:
基于SpringCloud微服务架构下的广告系统设计与实现 3_第15张图片

你可能感兴趣的:(springcloud)