springboot需要知道的几个点

作者: Java架构师CAT | 来源:发表于2019-07-25 18:16 被阅读0次

    现在关于springboot的使用可以说是如日中天的程度了,使用springcloud那一套的必须是springboot为基础,使用dubbo的很多伙伴也使用springboot了;所以有必要把springboot的一些知识调进行列一下。

    入门

    pom.xml中加入

    org.springframework.bootspring-boot-starter-parent<--!版本自选-->2.1.4.RELEASEorg.springframework.bootspring-boot-starter-web

    启动类

    @SpringBootApplication()publicclassApplication{publicstaticvoidmain(String[] args)throwsException { SpringApplication.run(Application.class, args); }}

    一个pom+一个注解+一行代码就搞定了。简单轻松的不行。

    获取配置

    如果想在配置文件中添加配置,怎么读取呢?比如说现在在application.properties文件中添加

    user.service.url=http://www.aaa.com/user.service.key=hjvj312ggbh21398hna

    怎么获取到这些配置的呢?

    两种简单的方式

    //注解@ConfigurationProperties@Value

    @ConfigurationProperties 实现原理是什么?

    @Value前面已经说过了【注解驱动时代】细说@Value注解

    注解@Enable***

    各种各样的@Enable**注解,比如:

    @EnableAspectJAutoProxy@EnableConfigurationProperties@EnableCaching@EnableWebMvc

    这样就非常轻松的整合 Cache、AspectJ、MVC 配置、属性配置的功能。那么是否想过这些注解是如何实现对应的功能了?中间用到了什么原理呢?为什么有的需要添加注解,有的直接引入依赖就可以运行了呢?

    各种***Aware

    比如:

    ApplicationContextAware

    ResourceLoaderAware

    MessageSourceAware

    EmbeddedValueResolverAware

    ApplicationEventPublisherAware

    ServletConfigAware

    Spring 通过接口回调的方式提供了多个非常方便的 XXAware 接口,方便在开发过程中获取到 Spring 上下文核心组件,而且这些 XXAware 都有一个共同的父接口 Aware。Aware 都是在 Bean 初始化回调前就进行回调的。

    @EnableAutoConfiguration

    Spring Boot 中所有的 AutoConfiguration 框架都需要依赖于 @EnableAutoConfiguration 注解,如果没有此注解,那么 Spring Boot 将不在有那么多的便利性。

    @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@AutoConfigurationPackage@Import(AutoConfigurationImportSelector.class)public@interfaceEnableAutoConfiguration {String ENABLED_OVERRIDE_PROPERTY ="spring.boot.enableautoconfiguration";Class[] exclude()default{};String[] excludeName()default{};}

    注解EnableAutoConfiguration 原理是什么?

    自定义starter

    如何自定义starter其实,还得先搞清楚starter是怎么玩的,原理是什么。

    后面会一一道来,今天只是一个把springboot一些重要的知识点罗列出来。敬请期待!

    原文:https://zhuanlan.zhihu.com/p/75189250

    来源:知乎

    作者:雁高飞

    相关文章

      网友评论

        本文标题:springboot需要知道的几个点

        本文链接:https://www.haomeiwen.com/subject/wmlkrctx.html