spring boot搭建遇到的问题

最近新项目需要搭建微服务,技术选型为spring boot,为此我本地搭建了基本的架子测试一些基本的功能特性

框架搭建很简单,网上搜一下都有,这里就不重复了。

但是也遇到了一些问题,先总结如下:

1,主要是pom文件中配置的各项dependency,不兼容(猜测)导致jar包不能正确导入。
选用比较成熟的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version><!-- 这里的版本不能太高,会有jar不兼容的情况,这里很关键 -->
<relativePath />
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.RELEASE</version><!-- 版本不要求最新,稳定即可 -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>

</dependencyManagement>


2,基本概念的理解

从源代码中得知 @SpringBootApplication 

@Configuration、(@Configuration 是一个类级注释,指示对象是一个bean定义的源)
@EnableAutoConfiguration、(启用 Spring 应用程序上下文的自动配置,试图猜测和配置您可能需要的bean。自动配置类通常采用基于你的 classpath 和已经定义的 beans 对象进行应用。)
@ComponentScan (为 @Configuration注解的类配置组件扫描指令)

注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解,简化程序的配置。下面解释一下各注解的功能。


当我们在Controller上标注了@RestController,这样相当于Controller的所有方法都标注@ResponseBody
@ResponseBody
作用: 
      该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;


在配置服务中心的时候遇到了一些问题和概念上的误解

入口类加上注解@EnableEurekaClient,开启eureka客户端,可以注册服务及发现调用服务,与注册中心的@EnableEurekaServer刚好相反。
@EnableDiscoveryClient也能起到该作用,@EnableDiscoveryClient与@EnableEurekaClient的关系如下:
SpringCloud中的“Discovery Service”有多种实现,比如:eureka, consul, zookeeper,可见eruka只是其中的一种。
@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现(根据导入的jar包有关);
@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;
如果你的classpath中添加了eureka,则它们的作用是一样的。
在入口类处加上@EnableEurekaServer注解,用于开启服务注册中心
 配置文件为yml结尾的时候,要注意
  server:
  port: 8989
  上面:后面的" "空格如果没有的话会报错,~~
/info这个url比较特殊,如果直接使用可能会有问题(暂时不知道为什么)

怎么读取配置文件,以及配置文件怎么生效

下面是一个配置文件生效的demo

application.yml
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
  application:
    name: eureka-service
server:
  port: 8761
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值