SpringBoot常见问题

1.什么是SpringBoot?


​ SpringBoot是一个能快速搭建一个基于Spring的应用程序,在传统的SSM框架组合配置繁琐,有大量的重复代码,严重影响了我们Java工程师的开发效率,而SpringBoot呢,就为我们对Spring家族跟一些第三方库进行了自动化的Starter,并且消除了我们的XMl。

2.SpringBoot的装配原理(starter)


​ 首先,这Starter并不是一个新技术,基本还是基于Spring已有的功能来实现的。首先它提供了一个自动化的配置类,一般命名xxxAutoConfigration,在这个配置类中通过条件注解来决定一个配置是否生效(@Conditional),然后呢他也还会提供一系列的默认配置,允许开发者根据实际情况自定义相关配置,通过类的安全属性将这些配置属性注入进来,新的属性就会代替掉默认的属性,比如Spring Security中,正因为这个,很多第三方框架,我们只需要映入他的依赖就可以直接使用了。

3.SrpingBoot有什么特点


​ 1.为Spring开发提供了一个更快,更广泛的入门体验。

​ 2.开箱即用,不用再配置乱七八糟的XML。

​ 3.规定的约定大于配置。

​ 4.提供了一系列大型项目通用的非业务型功能,例如: 内嵌服务器,安全管理,运行数据监控。

4.SpringBoot中spring-boor-starter-parent有什么作用

​ 1.定义了Java编辑版本为1.8

​ 2.编码规范为UTF-8

​ 3.继承了spring-boot-dependenices,在这里面定义了依赖的版本,所以我们写依赖时部分不用写版本号。

​ 4.执行打包操作的配置

​ 5.自动化的资源过滤。

​ 6.针对application.properties和application.yaml的资源进行了过滤。

5.SpringBoot中打包的Jar与普通的jar有什么不同?

​ Springboot中打包jar是可执行的Jar也就是可以通过 java -jar xxx.jar命令来运行的,并且不能被其它项目依赖,这其中呢,主要跟他的结构有关,普通的jar,解压之后就是包名,包里面就是我们的代码,而SpringBoot呢打包成的jar解压之后,在\BOOT-INF\classes目录下才是我们的代码,因此无法被其它项目依赖;

6.什么是Spring Data?

​ Spring Data是Spring的一个子项目,用于简化数据库的访问,支持NoSQL和关系储存,其主要目标就是让数据库访问方面快捷。Spring Data具有如下特点:

​ 1.Spring Data项目支持NoSQL存储:

​ 2.MongDB(文档数据库)

​ 3.Redis(key/value存储)

​ 4.Neo4j (图形数据库)

​ 5.Hbase(列族数据库)

7.SpringBoot中如何解决跨域问题

​ 在传统的SSM中解决跨域呢是在XML文件中配置CORS,在我们的SpringBoot中通过@CrossOrigin注解来解决跨域,也跨域 重写addCorsMappings来实现解决跨域;

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×