简单了解Spring Boot

0.spring中定义过滤器,拦截器,Servlet,经常需要经常的类和实现的方法。

1. 什么是SpringBoot
Spring是为了简化Java,Springboot是为了简化Spring;
所以SpringBoot是基于Spring的更快,更容易集成其他功能的微服务框架;
它提倡开箱即用,默认大于配置的规范,使我们能尽快专注于业务;
避免maven的导入和jar的冲突。
2.SpringBoot的核心注解以及理解
SpringBoot的核心注解是@SpringBootApplication,主要包含了以下三个注解:
1.SpringBootConfig:组合@Configuration,实现配置文件;
2.EnableAutoConfiguration:条件注解,开启、关闭模块;
3.ComponentScan:Spring扫描注解,注册Bean;
3.SpringBoot其他常用的注解

@Configuration @Compoent @Bean @ControllerAdice

4.SpringBoot自动配置原理

@EnableAutoConfiguration,

@Configuration

@ConditionalOnClass
就是核心配置注解

@EnableAutoConfiguration导入META-INF/spring.factories里的自动配置类,刷选有效的配置类;
@Configuration:
@ConditionalOnClass:
5. SpringBoot的配置加载顺序
properties->YAML->系统环境变量->命令行参数.....
6.bootstrap和application的区别
bootstrap在单独的SpringBoot中不经常用到,但在SpringCloud中经常遇到;
bootstrap比application优先加载;
bootstrap是由父ApplicationContext加载的;application是由Applciation加载的;
7.解决跨域问题
1.跨域的配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .maxAge(3600);
    }
}

2.前后端分离时,在filter中添加跨域配置
@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.setAllowCredentials(true);
        UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }
}
3.SpringBoot中的Starter是什么
首先它提供了一个自动化配置类,一般命名为 XXXAutoConfiguration ,
在这个配置类中通过条件注解来决定一个配置是否生效
(条件注解就是 Spring中原本就有的),然后它还会提供一系列的默认配置,
也允许开发者根据实际情况自定义相关配置,
然后通过类型安全的属性注入将这些配置属性注入进来,新注入的属性会代替掉
默认属性。正因为如此,很多第三方框架,我们只需要引入依赖就可以直接使用了。
当然,开发者也可以自定义Starter。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值