关于springboot
2019-08-16 09:42 Lign_King 阅读(162) 评论(0) 编辑 收藏 举报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