Springboot启动基础
extends SpringBootServletInitializer
SpringBootServletInitializer作为Spring和外部Tomcat的连接桥梁,所有继承该类的类都将被Spring扫描。(多个的话顺序不明)
@SpringBootApplication
指引SpringBoot启动该应用,并扫描同包名下的所有组件。
基础配置
Server:
port: 8899
application:
name: ApplicationName
路由服务的配置
@EnableEurekaServer
允许启动Eureka服务(服务注册与发现)
基本配置:
eureka:
client:
#自己是否注册自己
#register-with-eureka: false
#查看有哪些注册信息(默认true,如果有zuul的话,需要该项为true,否则无法使用ServiceId映射)
#fetch-registry: false
#注册地址
service-url.defaultZone: http://localhost:8080/eureka
#查看面板的路径(默认为根路径,如果有zuul需要把该路径过滤才能正常访问)
dashboard.path: /dashboard
@EnableZuulProxy
启动Zuul服务(路由服务)
基本配置:
zuul:
#出现过setcookie被过滤的情况(默认会过滤setcookie,导致无法使用session)
sensitiveHeaders:
#隐藏所有微服务名称(即使用微服务名称无法访问到服务)
#ignored-services: "*"
#过滤的路径
ignored-patterns: /actuator/**, /dashboard/**, /ConfigServer/**, /eureka/**
#服务前缀名,想要访问项目之前要加上此路径
#prefix: /prefexurl
routes:
#替换后访问的名称
Redict1:
#访问路径,/**表示除了过滤的路径,所有的路径都将映射
path: /**
#serviceId需要与eureka同用,映射到已经注册再Eureka上spring.application.name为ApplicationName的所有服务上
serviceId: ApplicationName
#或者也可以直接采用url路径映射
#url: http://139.9.39.143:80/
如果zuul需要使用eureka作为映射的数据来源,需要添加配置
ribbon:
eureka:
enabled: true
ribbon为zuul负载均衡的内部部件。
#debug: true
添加一个Zuul Filter的示例
@Component
public class MyTestZuulFilter extends ZuulFilter {
@Override
public boolean shouldFilter() {
// TODO Auto-generated method stub
return true;
}
@Override
public Object run() throws ZuulException {
// TODO Auto-generated method stub
RequestContext context = RequestContext.getCurrentContext();
HttpServletResponse res = context.getResponse();
//res.addHeader("Set-Cookie", "BDSVRTM=69; path=/");
return res;
}
@Override
public String filterType() {
// TODO Auto-generated method stub
return FilterConstants.POST_TYPE;
}
@Override
public int filterOrder() {
// TODO Auto-generated method stub
return FilterConstants.DEBUG_FILTER_ORDER;
}
}
@EnableConfigServer
配置中心服务
相关配置:
spring:
profiles:
#本地配置,还可以是git和svn
active: native
cloud:
config:
server:
#访问配置的前缀
prefix: ConfigServer
native:
#搜索路径
search-locations: C:/Users/43583/Desktop/config-properties
微服务配置
@EnableEurekaClient
相关配置
eureka.client.service-url.defaultZone= http://localhost:8080/eureka
注意这个配置是可以放在远程配置中心的,如果添加了ConfigClient包,则配置服务会优先启动
远程配置数据访问
spring:
cloud:
config:
Profile : dev
name : ApplicationName
uri : http://localhost:8080/ConfigServer/
这样配置的话,访问到的配置文件是ApplicationName-dev.properties或者ApplicationName-dev.yml