文档章节

SpringBoot+SpringCloud注意事项

云遮七月
 云遮七月
发布于 2017/06/02 15:59
字数 450
阅读 159
收藏 0
点赞 0
评论 0

1、在使用SpringCloud的时候如果有模块需要使用xml配置properties。那么请使用PropertySourcesPlaceholderConfigurer类或者使用context:property-placeholder,不要使用PropertyPlaceholderConfigurer,否则注册到SpringCloud的ApplicationName是UNKNOWN,Status中获取到的URL地址端口是默认的8080。

<bean id="baseServiceConfLocation"
		class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
		<property name="order" value="100" />
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="locations">
			<list>
				<value>classpath:database.properties</value>
				<value>classpath:redis.properties</value>
				<value>classpath:quartz.properties</value>
				<value>classpath:sql.properties</value>
			</list>
		</property>
	</bean>

<context:property-placeholder location="classpath:database.properties,classpath:redis.properties,classpath:quartz.properties,classpath:sql.properties" ignore-unresolvable="true"/>

2、SpringBoot如果要忽略url后缀问题,请通过自定义WebMvcConfigurerAdapter中的configureContentNegotiation方法中configurer.favorPathExtension(false)

import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
 * 取代Spring-mvc.xml配置文件,继承默认的SpringBoot注解,增加自定义配置
 *
 */
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter{
	
	

	/**
	 * org.springframework.web.accept.ServletPathExtensionContentNegotiationStrategy--根据url后缀来判断客户端请求的返回值Content-Type
	 * org.springframework.web.accept.HeaderContentNegotiationStrategy
	 * org.springframework.web.accept.FixedContentNegotiationStrategy
	 */
	@Override
	public void configureContentNegotiation(
			ContentNegotiationConfigurer configurer) {
		// TODO Auto-generated method stub
		//org.springframework.web.accept.ServletPathExtensionContentNegotiationStrategy
		configurer.favorPathExtension(false);
		//org.springframework.web.accept.ParameterContentNegotiationStrategy
		//configurer.favorParameter(false);
		configurer.defaultContentType(MediaType.APPLICATION_JSON);
	}
	


}

3、设置ObjectMapper 属性可以通过如下属性设置时间格式,Map和Bean中的null属性不输出,注意此时不能用@EnableWebMvc注解覆盖默认配置

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.serialization.write_null_map_values=false
spring.jackson.default-property-inclusion=non_null

 

4、如果使用模板等文件最好放在resources下。否则请使用resources把全部的非java下的输出到${project.build.outputDirectory}
 

<resources>  
	<resource>  
		<directory>${project.basedir}/src/main/webapp</directory>  
		<targetPath>${project.build.outputDirectory}</targetPath>  
	</resource> 
	<resource>  
		<directory>${project.basedir}/src/main/resources</directory>  
		<targetPath>${project.build.outputDirectory}</targetPath>  
	</resource> 
</resources>

5、使用SpringBoot+SpringSecurity的时候自定义的拦截器请不要使用@Bean注解,否则SpringBoot会将之注册为一个FilterRegistrationBean(全局的过滤器),所以最好不用使用xml配置SpringSecurity(道理相同)

protected void configure(HttpSecurity http) throws Exception {
		 http
         .authenticationProvider(provider())
         .userDetailsService(userDetailsService())
         .exceptionHandling()
         .accessDeniedHandler(accessDeniedHandler())
         .authenticationEntryPoint(authenticationEntryPoint())
         .and()
         .sessionManagement()
         .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
         .and()
         .addFilterBefore(preFilter(), AbstractPreAuthenticatedProcessingFilter.class)
         .addFilterBefore(securityFileter(), FilterSecurityInterceptor.class)
         .authorizeRequests()
         //.accessDecisionManager(accessDecisionManager())//去掉否则认证通过之后会再次调用此方法,authenticated
         .antMatchers("/Alarm/Shared/Service/**").authenticated();
         
         
	}

 

© 著作权归作者所有

共有 人打赏支持
云遮七月
粉丝 0
博文 3
码字总数 1134
作品 0
沈阳
程序员
sbc(一)SpringBoot+SpringCloud初探

前言 有看过我之前的SSM系列的朋友应该有一点印象是非常深刻的。 那就是需要配置的配置文件非常多,什么、、、之类的配置文件非常多,并且还存在各种版本,甚至有些版本还互不兼容。其中有很...

crossoverJie ⋅ 2017/06/27 ⋅ 0

网关 Spring-Cloud-Gateway 源码解析 —— 网关初始化

网关 Spring-Cloud-Gateway 源码解析 —— 网关初始化 Harries Blog™2017-12-135 阅读 SpringAppclasspathcatbeanAPIbuildbug 本文主要基于 Spring-Cloud-Gateway 2.0.X M4 摘要: 原创出处 ......

Harries Blog™ ⋅ 2017/12/13 ⋅ 0

sbc(二)高可用Eureka+声明式服务调用

前言 上一篇简单入门了SpringBoot+SpringCloud 构建微服务。但只能算是一个级别的应用。 这次会按照实际生产要求来搭建这套服务。 Swagger应用 上次提到我们调用自己的接口的时候采用的是来模...

crossoverJie ⋅ 2017/07/21 ⋅ 0

教育培训加盟有哪些注意事项?

  作为一个创业者,做一个加盟项目需要仔细的考虑,不仅要从加盟费高低、加盟店数量、加盟店品牌,还要从自身的条件进行考虑。下面小九就来普及下:教育培训加盟有哪些注意事项?      ...

游戏开发程序猴 ⋅ 01/09 ⋅ 0

转换函数

一、日期格式说明 类型 说明 Cc 两位数字的世纪 scc 有负号的两位数字的世纪,表示世纪前 Q 表示一位数季度 yyyy 表示4位数年 iyyy 表示4位数年,ISO格式 rrrr 表示当前年的4位数字的圆整年 ...

ryan_bai ⋅ 2017/09/23 ⋅ 0

CI/CD 持续集成和持续交付 (二)

根据上次的文章介绍,制定了一套解决方案 此套方案 作为 PaaS 或者SaaS 都是棒棒的,结合着OpenStack 作为IaaS层 更适合, 整体的思路大概是这样的,后续会详细介绍。 客户或产品有新的需求变...

mit-tony ⋅ 2017/03/27 ⋅ 0

《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明 《连载...

唯笑志在 ⋅ 2016/11/18 ⋅ 0

新手学堂:Linux下Openoffice的安装方法

tar zxvf OOo2.2.1LinuxIntelinstallwJRE_zh-cn.tar.gz 资料来源:请从互联网上搜索下载最新版本,或从本光盘上直接下载 OOo2.2.1LinuxIntelinstallwJRE_zh-cn.tar.gz注意事项:无 2、安装 ...

红薯 ⋅ 2009/05/08 ⋅ 0

sbc(二)高可用Eureka+声明式服务调用

pexels-photo-516961.jpeg 前言 上一篇简单入门了SpringBoot+SpringCloud 构建微服务。但只能算是一个级别的应用。 这次会按照实际生产要求来搭建这套服务。 Swagger应用 上次提到我们调用自...

crossoverJie ⋅ 2017/07/21 ⋅ 0

《连载 | 物联网框架ServerSuperIO教程》- 12.服务接口的开发,以及与云端双向交互

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明 《连载...

唯笑志在 ⋅ 2016/11/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 20分钟前 ⋅ 0

Ubuntu部署django问题汇总

使用Anaconda3的Python3.6的pip安装UWSGI报错 原因是gcc版本不兼容,安装4.7并修改gccsudo apt-get install gcc-4.7sudo mv /usr/bin/gcc /usr/bin/gcc.baksudo ln -s /usr/bin/gcc-4.......

wuyaSama ⋅ 23分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

猫耳m ⋅ 23分钟前 ⋅ 0

Docker减肥小记

如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察 如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷… 1、查看...

寰宇01 ⋅ 34分钟前 ⋅ 0

微信小程序中如何使用WebSocket实现长连接(含完整源码)

本文由腾讯云技术团队原创,感谢作者的分享。 1、前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一...

JackJiang- ⋅ 42分钟前 ⋅ 0

定制库到Maven本地资源库

1.如果只有定制库的JAR文件 下载链接如下:pdf.jar 2.使用命令转换成Maven本地资源 mvn install:install-file -Dfile=/Users/manager/Downloads/clj-pdf-2.2.33.jar -DgroupId=clj-pdf -Dar......

年少爱追梦 ⋅ 46分钟前 ⋅ 0

高仿springmvc之xuchen-mvc

package org.mvc.framework.servlet; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.......

徐志 ⋅ 48分钟前 ⋅ 0

关于自定义URLStreamHandler的一次踩坑

关于自定义URLStreamHandler的一次踩坑 20180625 lambo init 说明 一般自定义实现url的协议解析.方案为实现URLStreamHandler.实现其 openConnection 就可以了, 如果我们执行 new URL("xx://...

林小宝 ⋅ 49分钟前 ⋅ 0

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

演示证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependenc......

小帅帅丶 ⋅ 50分钟前 ⋅ 0

用Calendar 实现 计算 一段时间的毫秒值

Calendar c=Calendar.getInstance();c.add(Calendar.MONTH, -1);int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH)......

岸芷汀兰 ⋅ 54分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部