文档章节

SpringBoot+SpringCloud注意事项

云遮七月
 云遮七月
发布于 2017/06/02 15:59
字数 450
阅读 200
收藏 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();
         
         
	}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 开发日常
下一篇: SpringMVC注意事项
云遮七月
粉丝 0
博文 3
码字总数 1134
作品 0
沈阳
程序员
私信 提问
sbc(一)SpringBoot+SpringCloud初探

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

crossoverJie
2017/06/27
0
0
企业 SpringBoot+SpringCloud(九)springboot整合Redis

引入依赖: 在pom文件中添加redis依赖: 配置数据源 如果你的redis有密码,配置下即可。经过上述两步的操作,你可以访问redis数据了。 数据访问层dao 通过redisTemplate来访问redis. 单元测试...

itcloud
09/29
0
0
这样的要求报价多少合适?

一、汽车商家频道: 车商新闻、汽车商家 车商专访、4S店投资、环保汽车 车展信息 维修配件 汽车商家新闻征集 二、车主频道:车主新闻 买车注意事项 用车注意事项 修车注意事项 二车买卖注意事...

深爱着你们
2014/06/18
1K
20
从0到1构建基于Springboot+SpringCloud的微信点餐系统

课程介绍 随着互联网不断发展,大家的生活习惯也不断在改变,像美团,饿了么平台的外卖快速的发展起来,这就是我们所说的O2O,即线上和线下结合同时微信也给人们带来了沟通的便利,现在几乎每...

liwei2000
11/13
0
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
0

没有更多内容

加载失败,请刷新页面

加载更多

特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
20分钟前
0
0
Gitbook : random errors when using gitbook plugin on running "gitbook serve"

在执行gitbook serve时,会有不定的失败错误 参考问题 :#1309 解决方案: 更新gitbook版本,这个问题似乎是3版本的问题 , 官方也不打算在这个版本解决了。 更新 到最新版本后, 不再出现问...

ol_O_O_lo
34分钟前
1
0
提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字

提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字: 作者:王健茜;断断续续一个多月才读完了《中国文化的深层结构》,这并不是一本难懂的书,之所以读得慢,源于对书中观点的思...

原创小博客
36分钟前
1
0
高德地图-行政区域接口

1、获取全国各省信息 https://restapi.amap.com/v3/config/district?extensions=all&key=应用Key&s=rsv3&output=json 2、获取下级行政区域信息 https://restapi.amap.com/v3/config/distric......

voole
48分钟前
4
0
集群介绍 ..

12月19日任务 18.1 集群介绍 18.2 keepalived介绍 18.3/18.4/18.5 用keepalived配置高可用集群 一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,...

hhpuppy
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部