springboot 2.0.0.M7 配置mvc

更多干货

  • spring-boot系列一 之restfull api与多环境配置
  • springboot系列二之 日志
  • SpringBoot系列三之 MVC 模版引擎
  • SpringBoot 2.0.0.M7 系列四 异常处理
  • springboot 2.0.0.M7之 注解 与 配置
  • springboot 2.0.0.M7 配置mvc
  • springboot 2.0.0.M7 之 Servlet Listener Filter
  • springboot 2.0.0.M7 之 跨域
  • springboot 2.0.0.M7 之使用mysql
  • spring boot 2.0.0.M7 之 数据库-事务处理
  • springboot 2.0.0.M7 之 h2 嵌入式数据库的使用
  • springboot 2.0.0.M7 之 数据库-redis
  • Spring Boot 2.0.0.M7 中使用Swagger2构建RESTful API文档
  • Spring Boot 2.0.0.M7 springBoot-mongodb使用
  • Spring Boot 2.0.0.M7 使用 Caching-EhCache
  • Spring Boot spring boot 使用 Caching-Redis
  • Spring Boot 2.0.0.M7 使用异步消息服务-AMQP(RabbitMQ)
  • Spring Boot 2.0.0.M7 调用REST服务-如何使用代理
  • Spring Boot 2.0.0.M7 发送邮件-使用模板邮件并实现多账号轮询发送
  • Spring Boot 2.0.0.M7 使用Spring Session实现集群-redis
  • Spring Boot 2.0.0.M7 如何进行远程调试
  • Spring Boot 生产准备-基于HTTP的监控
  • Spring Boot 集成 Druid
  • springboot思维导图

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/**");
    }
}

你可能感兴趣的:(【springboot】)