zoukankan      html  css  js  c++  java
  • 关于springboot

    1,什么是springboot,

      springboot是spring生态圈的一个轻量级框架,换句话说springboot就是spring,是spring的一个衍生版本
            如果是spring框架,项目中搭建完毕,无法实现任何的代码,也就是说spring没有办法帮助开发人员去连接数据库,对数据库做增删改查,也没有办法自动把shiro集成进来,需要开发人员手动编写xml配置文件,自己进行整合
            springboot其实就是集成好了很多框架的spring,直接根据springboot所提供的标准化编写配置即可,不再需要编写xml配置文件,springboot官方给出的解释就是干掉xml文件,使用Java代码进行编写配置
            通过Java类来代替xml

    2,为什么用springboot代替spring

      傻瓜式开发,减少了大量配置,降低了开发人员的标准,低层次的开发人员也可以编写业务逻辑,不需要了解内部运行原理以及框架的集成和整合

    3.springboot的hello world
            3.1.@SpringbootApplication
            springboot的运行原理
                作用是实现了自动的配置
                @SpringbootApplication是一个组合注解
                    @SpringBootConfiguration:springboot所必须要的基础配置(application.xml)
                    @EnableAutoConfiguration:自动加载配置
                @EnableAutoConfiguration任然是一个组合注解
                    @AutoConfigurationPackage:通过扫描包的形式自动加载(eg:mybatis的mapper扫描器)
                    @Import:导入(在application.xml配置文件中<import />)
                        EnableAutoConfigurationImportSelector:自动加载配置的选择器(根据条件进行自动加载配置)
                        继承了AutoConfigurationImportSelector
                        AutoConfigurationImportSelector类中有一个方法
                            getCandidateConfigurations():根据某个特定的条件获取配置信息
                            loadFactoryNames():根据name的属性值来获取加载器信息
                            是根据了META-INF/spring.factories文件进行加载配置
                            根据factories文件映射到了配置类中
                                MybatisAutoConfiguration.java是经过xml配置文件转换来的,和xml配置文件一样的作用
                                DataSource
                                SqlSessionFactory
                                sqlSessionTemplate

            3.2.添加mybatis的依赖后,再次启动会抛异常
                mybatis框架已经被集成进项目中,但是mybatis最终的目的是操作数据库,mybatis并没有找到数据源的配置信息,所以导致项目报错
                解决问题:配置数据源信息
            3.3.配置数据库
                按照springboot所规定的形式配置数据库
                在官方文档中说明
                    可以使用文件进行配置数据源信息(就是springboot的主配置文件,也是以后操作最多的文件)
                    properties
                    yml
                    命名有规范:
                        文件名必须要使用application,否则springboot无法识别
                        application.properties
                        application.yml
                    存放位置有规定:
                        官方推荐把配置文件放在resources目录(classpath)-->config文件夹
                        如果config文件夹springboot没有检测到会从resources目录下去找
                        resources:classpath(根目录)
                        resources/config
            3.4.替换和关闭banner
                springboot项目启动的时候,会自动加载spring所提供的banner
                替换banner:
                    需要在resources(classpath)目录中创建文件
                    banner.txt
                关闭banner:
                    SpringApplication springApplication = new SpringApplication(ApplicationRun.class);
                    springApplication.setBannerMode(Banner.Mode.OFF);
                    springApplication.run(args);

    面试题:如果区分轻量级和重量级框架?

      主要区别,在项目中轻量级的框架会对自己项目中的代目有很少的侵入,

      例如:hibernate:hql:from user

         mybatis:ssql:select *from user

            

  • 相关阅读:
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    linux中的cd ..和cd -命令有什么区别?
    GCC使用
  • 原文地址:https://www.cnblogs.com/yanglin666/p/11362001.html
Copyright © 2011-2022 走看看