将springboot升级到springcloud

前述:

之前公司来了个项目,那会儿自己用的是springboot框架搭的,后来又接手了公司另一个已开发的项目,是springcloud架构的微服务项目,而且要和之前的自己用springboot项目要相互打通,一个是springboot,一个springcloud。那么相互之间如何调用的问题便抛了出来

springcloud服务之间是服务调用,而未集成cloud的springboot框架的项目与springcloud项目之间,肯定是不可以服务调用,那么我能想到的调用方式就是自己写httpclient来进行接口调用(虽然fegin本质也是接口调用),当我们习惯了springcloud的服务之间的服务调用后,再去自己写httpclient,会发现,哇....这好麻烦啊....

想偷懒?那就把springboot升级一下吧!在产品迭代的空隙间,闲来无事,就把springboot升级一下!

概要:

我的springboot项目版本1.5.6.RELEASE,根据springboot与cloud的版本对应关系,我选择了Edgware.SR3,具体springcloud版本说明,可参考我的另一篇文章:https://blog.csdn.net/With_Her/article/details/98759517

升级的思想是:
1.把springcloud的jar在pom中引入
2.在application的配置文件中,加入eureka与cloud等的配置
3.在启动器中加入eureka与fegin等相关注解

开始!

1.添加pom

在springboot框架的pom基础上,直接添加springcloud相关的pom


        Edgware.SR3




		
			org.springframework.cloud
			spring-cloud-starter-config
		
		
			org.springframework.cloud
			spring-cloud-starter-netflix-eureka-client
		
		
			org.springframework.cloud
			spring-cloud-starter-netflix-hystrix
		
		
			org.springframework.cloud
			spring-cloud-starter-feign
			1.4.4.RELEASE
		
        
		


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

上面引入的这几个pom其实就是springcloud的各个核心组件,有兴趣的可以看我的另一篇文章:https://blog.csdn.net/With_Her/article/details/97165385

2.application中加入配置

#cloud
spring:
    cloud:
      config:
        discovery:
          enabled: true
          service-id: service_name

#定义项目在eureka中的服务名
spring:
    application:
       name: service_name

#eureka
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka
  instance:
    #租期更新时间间隔
    lease-renewal-interval-in-seconds: 10
    #租期到期时间
    lease-expiration-duration-in-seconds: 10
    prefer-ip-address: true

3.启动器上加入注解

@SpringBootApplication
@ServletComponentScan   //Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener 注解自动注册,无需其他代码。
@EnableScheduling  //启动线程(task定时任务需要此注解)
@EnableTransactionManagement(proxyTargetClass = true)//事务管理
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.package.*"})
public class Application extends SpringBootServletInitializer {

}

然后就好啦!

这是我本次升级所有的操作,但是对于其中的一些配置与注解的作用不是太了解,还需要再去看看

有很多不足,希望您借鉴参考后,如果有问题,及时反馈给我!相互进步!

 

参考文档:https://blog.csdn.net/qq_32423845/article/details/82016331

转载请注明出处.

 

你可能感兴趣的:(JAVA,框架)