A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

3  在线学习接口 3.1 需求分析
根据下边的业务流程,本章节完成前端学习页面请求学习服务获取课程视频地址,并自动播放视频。

3.2 搭建开发环境
3.2.1 创建数据库
创建xc_learning数据库,学习数据库将记录学生的选课信息、学习信息。
导入:资料/xc_learning.sql  
3.2.2 创建学习服务工程

参考课程管理服务工程结构,创建学习服务工程:


pom.xml
[AppleScript] 纯文本查看 复制代码
 <dependencies>     <!‐‐ 导入Eureka服务的依赖 ‐‐>     <dependency>      <groupId>org.springframework.cloud</groupId>           <artifactId>spring‐cloud‐starter‐netflix‐eureka‐client</artifactId>          </dependency>     <dependency>         <groupId>com.squareup.okhttp3</groupId>         <artifactId>okhttp</artifactId>
    </dependency>

[AppleScript] 纯文本查看 复制代码
<dependency>             <groupId>org.springframework.cloud</groupId>             <artifactId>spring‐cloud‐starter‐openfeign</artifactId>         </dependency>     <dependency>         <groupId>com.netflix.feign</groupId>         <artifactId>feign‐okhttp</artifactId>         <version>8.18.0</version>     </dependency>     <dependency>         <groupId>com.xuecheng</groupId>         <artifactId>xc‐service‐api</artifactId>         <version>1.0‐SNAPSHOT</version>     </dependency>     <dependency>         <groupId>com.xuecheng</groupId>         <artifactId>xc‐framework‐model</artifactId>         <version>1.0‐SNAPSHOT</version>     </dependency>     <dependency>         <groupId>com.xuecheng</groupId>         <artifactId>xc‐framework‐utils</artifactId>         <version>1.0‐SNAPSHOT</version>     </dependency>     <dependency>         <groupId>com.xuecheng</groupId>         <artifactId>xc‐framework‐common</artifactId>         <version>1.0‐SNAPSHOT</version>     </dependency>     <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring‐boot‐starter‐web</artifactId>     </dependency>     <dependency>         <groupId>mysql</groupId>         <artifactId>mysql‐connector‐java</artifactId>     </dependency>     <dependency>         <groupId>com.alibaba</groupId>         <artifactId>druid‐spring‐boot‐starter</artifactId>         <version>1.1.10</version>     </dependency>     <dependency>         <groupId>com.alibaba</groupId>         <artifactId>druid</artifactId>     </dependency>     <dependency>         <groupId>org.mybatis.spring.boot</groupId>         <artifactId>mybatis‐spring‐boot‐starter</artifactId>     </dependency>     <dependency>         <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper‐spring‐boot‐starter</artifactId>
</dependency>       <dependency>         <groupId>org.springframework</groupId>         <artifactId>spring‐orm</artifactId>         <version>${springframework.version}</version>  
   </dependency>    
 <dependency>    
     <groupId>org.springframework.boot</groupId>       
  <artifactId>spring‐boot‐starter‐data‐jpa</artifactId>  
   </dependency>   
  <dependency>    
     <groupId>com.alibaba</groupId>      
   <artifactId>fastjson</artifactId>  
   </dependency> 
    <dependency>    
     <groupId>commons‐io</groupId>     
    <artifactId>commons‐io</artifactId>
     </dependency>  
   <dependency>     
    <groupId>org.apache.commons</groupId>     
    <artifactId>commons‐lang3</artifactId>  
   </dependency>   
  <dependency>    
     <groupId>org.springframework.boot</groupId>   
      <artifactId>spring‐boot‐starter‐test</artifactId>   
  </dependency> 
    <dependency>     
    <groupId>org.springframework.boot</groupId>     
    <artifactId>spring‐boot‐starter‐amqp</artifactId>  
   </dependency> </dependencies>

[AppleScript] 纯文本查看 复制代码
server:   port: ${PORT:40600} spring:   application:  
   name: xc‐service‐learning   datasource:  
   druid:       url: ${MYSQL_URL:jdbc:mysql://localhost:3306/xc_learning?characterEncoding=utf‐8}   
    username: root     
  password: mysql      
 driverClassName: com.mysql.jdbc.Driver  
     initialSize: 5  #初始建立连接数量  
     minIdle: 5  #最小连接数量      
 maxActive: 20 #最大连接数量   
    maxWait: 10000  #获取连接最大等待时间,毫秒  
     testOnBorrow: true #申请连接时检测连接是否有效   
    testOnReturn: false #归还连接时检测连接是否有效  
     timeBetweenEvictionRunsMillis: 60000 #配置间隔检测连接是否有效的时间(单位是毫秒)
 minEvictableIdleTimeMillis: 300000  #连接在连接池的最小生存时间(毫秒) eureka:   client:  
   registerWithEureka: true #服务注册开关     fetchRegistry: true #服务发现开关 
    serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址,多个中间用逗号分隔   
    defaultZone: ${EUREKA_SERVER:http://localhost:50101/eureka/}   instance:  
   prefer‐ip‐address:  true  #将自己的ip地址注册到Eureka服务中    
 ip‐address: ${IP_ADDRESS:127.0.0.1}  
   instance‐id: ${spring.application.name}:${server.port} #指定实例id ribbon:  
 MaxAutoRetries: 2 #最大重试次数,当Eureka中可以找到服务,但是服务连不上时将会重试,如果eureka中找不 到服务则直接走断路器
   MaxAutoRetriesNextServer: 3 #切换实例的重试次数
   OkToRetryOnAllOperations: false  #对所有操作请求都进行重试,如果是get则可以,如果是post,put等操作 没有实现幂等的情况下是很危险的,所以设置为false   ConnectTimeout: 5000  #请求连接的超时时间  
 ReadTimeout: 6000 #请求处理的超时时间

启动类:

[AppleScript] 纯文本查看 复制代码
@EnableDiscoveryClient @EnableFeignClients @SpringBootApplication @EntityScan("com.xuecheng.framework.domain.learning")//扫描实体类 @ComponentScan(basePackages={"com.xuecheng.api"})//扫描接口 @ComponentScan(basePackages={"com.xuecheng.learning"})//扫描接口 @ComponentScan(basePackages={"com.xuecheng.framework"})//扫描common下的所有类 public class LearningApplication {  
     public static void main(String[] args) throws Exception {     
    SpringApplication.run(LearningApplication.class, args);  
   }     
  @Bean     
@LoadBalanced   
  public RestTemplate restTemplate() {   
      return new RestTemplate(new OkHttp3ClientHttpRequestFactory());   
  }   }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马