springboot 2.0.0.M7 配置mvc

更多干货


xml 配置文件

  • Spring Boot 提倡零配置,即无xml配置,但实际项目中,可能有一些特殊要求你必须使用xml配置,这时我们可以通过Spring 提供的@ImportResource来加载xml配置
  • @ImportResource({"classpath:some-context.xml","classpath:other-context.xml"})

Spring Boot 的自动配置的原理

  • Spring Boot 在进行SpringApplication 对象实例化时会加载 META-INF/spring.factories文件。将该配置文件中的配置载入到Spring 容器。
  • spring-boot.jar/META-INF下的spring.factories

条件注解

SpringBoot内部提供了特有的注解:条件注解(Conditional Annotation)。

  • 比如@ConditionalOnBean、@ConditionalOnClass、@ConditionalOnExpression、@ConditionalOnMissingBean等
  • @ConditionalOnClass会检查类加载器中是否存在对应的类,如果有的话被注解修饰的类就有资格被Spring容器所注册,否则会被skip。

静态资源

设置静态资源放到指定路径下

  • spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/static/

自定义消息转化器

自定义消息转化器,只需要在@Configuration的类中添加消息转化器的@bean加入到Spring容器,就会被Spring boot自动加入到容器中。

    @Bean
    public StringHttpMessageConverter stringHttpMessageConverter() {
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        return converter;
    }

自定义SpringMVC的配置

有些时候我们需要自己配置SpringMVC而不是采用默认,比如增加一个拦截器,这个时候就得通过继承WebMvcConfigureAdapter 然后重写父类中的方法进行扩展。

@Configuration
public class SpringMVCConfig extends WebMvcConfigurerAdapter{
    
    @Autowired
    private  UserLoginHandlerInterceptor userLoginHandlerInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(userLoginHandlerInterceptor).addPathPatterns("/api/user/**");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值