SpringBoot
作者:互联网
1、Spring @Configuration @Bean @ComponentScan @PropertySource @Value注解作用?
- @Configuration:用于表明当前类是一个配置类。他的作用和bean,xml一样
- @Bean:用于把当前方法的返回值作为bean对象存入Spring的IOC容器中
- @ComponentScan:用于Spring 在创建容器时要扫描的包
- @PropertySource:用于指定properties文件的位置
- @Value:用于将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值
2、Spring Boot、Spring MVC 和 Spring 有什么区别?
- Spring MVC和Spring Boot都属于Spring,Spring MVC是基于Spring的一个MVC框架,而Spring Boot是基于Spring的一套快速开发整合包。Spring主要特性是IOC,AOP;
3、什么是SpringBoot,优点和缺点?
- Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、 部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置
- 优点:对主流开发框架的无配置集成,项目可独立运行,无须外部依赖Servlet容器。提供运行时的应用监 控。极大地提高了开发、部署效率。与云计算的天然集成
- 缺点:版本迭代速度快,模块改动很大,报错时很难定位
4、什么是yml? 语法格式(说3点)?
- YML是一个可读性高,用来表达数据序列化的格式,和XML是一类。这种语言以数据做为中心,而不是以标记语言为重点
- 语法格式:1.大小写敏感2.使用缩进表示层级关系3.缩进时不允许使用Tab键,只允许使用空格
5、Spring Boot 的核心注解是哪个?主要由哪几个注解组成的?
- @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能
- @EnableAutoConfiguration:打开自动配置的功能
- @ComponentScan:Spring组件扫描。
6、描述Spring-boot-maven-plugin插件作用?
- spring-boot-maven-plugin插件是将spring boot的应用程序打包成fat jar的插件,借助其将所有应 用启动运行所需要的jar都包含进来,从逻辑上将具备了独立运行的条件。
7、SpringBoot读取配置文件的方式(几种),分别是什么?
- 3种,分别是:
- @Environment注解
- @Value注解
- @ConfigurationProperties注解
8、SpringBoot加载配置文件的顺序?如果配置文件有相同的配置属性,该如何处理?
- 加载顺序:properties>xml>yml
- 如果配置文件有相同属性,先读取到的生效 后读取的会加载,但不会覆盖前面已读取的配置
9、SpringBoot如何自定义异常?描述相关注解?
- 使用@ControllerAdvice、@RestControllerAdvice捕获运行时异常
- 重写ErrorController,手动抛出自定义ErrorPageException异常,方便404、403等被统一处理。
10、SpringBoot自动整合配置流程?
12、什么是加密(加密的简介)?
- 加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相 同或不同的手段还原(解密)
- 作用:可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。
13、描述(对称式加密/非对称加密)并描述常用加密算法名称?
可逆加密算法
- 对称加密
- 对称加密算法又称传统加密算法,指加密和解密使用相同密钥的加密算法。 对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性 加密过程:明文->密钥加密->密文, 解密过程:密文->密钥解密->明文。 优缺点: 算法公开,计算量小,加密速度快,加密效率高 双方使用相同的钥匙,安全性得不到保证 注意事项: 密钥的保密工作非常重要 密钥要求定期更换
- 非对称加密
- 非对称加密算法又称现代加密算法。 指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公 钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密 非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。 非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey) 公开密钥和私有密钥是一对 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。 如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。 特点: 算法强度复杂,安全性依赖于算法与密钥 加密解密速度慢 与对称加密算法的对比: 对称加密只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥 非对称加密有两种密钥,其中一个是公开的 RSA应用场景: 由于RSA算法的加密解密速度要比对称算法速度慢很多,在实际应用中,通常采取 数据本身的加密和解密使用对称加密算法(AES)。用RSA算法加密并传输对称算法所需的密钥。 常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
- 对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障
- 非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。
14、什么是盐值(加盐)加密?
- 加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。无论何时只要口令改变,随机数就改变。随机数以未加密的方式存放在口令文件中,这样每个人都可以读。不再只保存加密过的口令,而是先将口令和随机数连接起来然后一同加密,加密后的结果放在口令文件中。
15、描述摘要加密(不可逆加密),常用加密算法名称?
不可逆加密算法(哈希HASH)
- 摘要是哈希值,我们通过散列算法比如MD5算法就可以得到这个哈希值
- 不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的 MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、 SHA-384,和SHA-512我们可以统称为SHA2加密算法,SHA加密算法的安全性要比MD5更高,而SHA2加密算法比SHA1的要高。 由于这些加密都是不可逆的,因此比较常用的场景就是用户密码加密,其验证过程就是通过比较两个加密后的字符串是否一样来确认身份的。
标签:加密,SpringBoot,Spring,解密,密钥,非对称,加密算法 来源: https://www.cnblogs.com/wyzel/p/16683848.html