美文网首页
2019-01-09

2019-01-09

作者: 李彬燊666 | 来源:发表于2019-01-10 15:07 被阅读0次

                                                                                     Spring-Boot知识点

    一:创建helloWorld

    1:导入依赖

    2:@SpringBootApplication  :(必须要有main方法) 说明这是一个SpringBoot应用

    3:默认的约定:
        所有的组件都必须在@SpringBootApplication所在包或者下面的子包,才能被自动扫描到

    4:helloWorld简单原理----------pom.xml:

                    ----4.1:spring-boot-starter-parent:父工程:依赖管理,几乎将我们开发用到的所有依赖的版本都声明好了,又称版本仲裁中心

                    ----4.2:spring-boot-starter-web:spring-boot-starter-xxx:xxx场景启动器作用:引入这个场景的所有依赖(需要要什么场景启动器,就去官网搜索下载,自己找找官网)

    官方网址:
    https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#boot-documentation-getting-help

                    ------4.3:springBoot已经适配了所有的场景,我们只需要引用自己想用的场景即可,剩下的都是自动配置的

                    ----4.4:只需要写controller和service并且有嵌入式的Tomcat

                    ---4.5:Java -jar jar包名

    5:简化部署

                    -----1:引入springboot插件

                    ------2:将应用使用【package】命令打包

                    ------3:使用java -jar 命令运行

    6:可以直接创建spring-strater-boot

    7:spring -boot的Tomcat是嵌入式的(打包在jar包里的),不支持jsp页面,以后用的时候再说

    ------------------------------------------------------------------------------------------

    spring-boot项目解析:

    src/main/resources:

                    ---static:静态资源

                     ---templates:模板(放模板页面)【默认不支持jsp】,模板引擎来完成页面功能

                    ----application.properties:主配置文件(配置文件的名字不能改)
                                            -------如果想改配置去官网查看

    官网:
    https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#common-application-propertie

     2)怎么知道改哪些配置(官网)

                    3):如何知道spring-boot的一些一些默认规则和怎么改?(自动配置原理)

    第一种配置文件:

    application.properties

    第二种配置文件:

    springboot-yml配置文件:

    server:

      port: 8081(key 与value 中间一定要有空格)

    spring:

      banner:

        image:

          location: classpath:static

    Spring-Boot所有的东西都自动配置好了:

    *  1)、spring-boot-autoconfigure-2.0.7.RELEASE.jar(自动配置包)

    *  2)、好多的场景全部自动配置好

    *  自动配置原理:

    *  1)、主程序类标注了@SpringBootApplication注解相当于标注了@EnableAutoConfiguration

    *  2)、@EnableAutoConfiguration 开启SpringBoot的自动配置功能

    *  就会自动的将所有的自动配置类导进来

    *  如:HttpEncodingAutoConfiguration(http编码的自动配置)

    *  1)、@ConditionalOnXX根据当前系统环境判断我这个类的所有配置是否需要生效

    *  2)、会发现这些配置类中使用@Bean给容器中放了好多组件,这些组件就生效;

    *  3)、这些组件会从一个类中(配置文件属性值的封装类)获取到它应该使用的值是什么。比如HttpEncodingProperties获取charset

    *  4)、这写配置文件值的封装类都是和配置文件一一绑定

    *  @ConfigurationProperties(prefix = "spring.http.encoding")

    *  HttpEncodingProperties

    ============================================================================

    总结:

    自动配置类会在容器中放组件生效,组件的值又跟配置文件匹配好。

    使用心得:

    *  1)、SpringBoot帮我们配好了所有的场景

    *  2)、SpringBoot中会有很多的 xxxxAutoConfigurarion(帮我们给容器中自动配好组件)

    *  3)、xxxxAutoConfigurarion给容器中配组件的时候,组件默认的属性一般都是从 xxxProperties中获取这些属性的值

    *  4)、xxxProperties 是和配置文件绑定的(属性一一对应)

    *  5)、我们改掉这些默认配置即可;

    *  6)、如果他配的组件我们不用;

    *  @Bean

    *  @ConditionalOnMissingBean:容器中没有这个组件对象

    *  public InternalResourceViewResolver defaultViewResolver()

    *  SpringBoot的一个最大策略:你自己给容器中加入了同类型的组件就用你的,没加就用默认我配置,默认配置的组件都可以改掉属性值;

    *  7)、我们可以自己往SpringBoot中放任何组件,只要放在容器中就能起作用

    相关文章

      网友评论

          本文标题:2019-01-09

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