文档章节

SpringBoot+SpringCloud注意事项

云遮七月
 云遮七月
发布于 2017/06/02 15:59
字数 450
阅读 189
收藏 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
0
企业 SpringBoot+SpringCloud(九)springboot整合Redis

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

itcloud
09/29
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
sbc(二)高可用Eureka+声明式服务调用

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

crossoverJie
2017/07/21
0
0
教育培训加盟有哪些注意事项?

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

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

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(三十七)

资源整理。 1 Coding: 1.GDAL的node.js版本。 node gdal 2.R语言包echor,下载EPA许可设施的废水排放和空气排放数据。 echor 3.CPPTRAJ是一个旨在处理和分析分子动力学轨迹和从其分析中得出的...

胖胖雕
27分钟前
2
0
plsql developer如何创建新用户(users)

plsql developer如何创建新用户(users) 2017年05月04日 21:51:43 Alan_ZhQ 阅读数:14558 标签: plsql developer 更多 个人分类: plsql developer 版权声明:本文为博主原创文章,转载请...

linjin200
30分钟前
1
0
php安装编译时错误合集

php安装编译时错误合集 出现collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 出现此种错误最大可能是配置时出现了错误 libxml默认安装的路径是/usr/local,我把--wit...

alt_tab_jj
32分钟前
1
0
7.09-js保留小数点后两位

//num 是传过来的值,del是要保留几位 function valueFmt(num, del) { if (num != '') { if (del != 0) { num = parseFloat(num).toFixed(del); } var source = String(num).split("."); so......

静以修身2025
34分钟前
2
0
正则介绍_grep

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 grep基本用法 grep [-cinvABC] 'word' filename centos7.x版本的grep实则为grep --color=auto -c 显示匹配到的行数 [root@localhos......

robertt15
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部