准备面试四
Spring常见注解
1、@Controller:用于标记一个类上,声明注解的类是一个Controller,将该类交给Spring容器进行管理,@Controller:只是定义了一个控制器类,而使用@RequestMapping注解的方法才是真正处理请求的处理器。
2、@Service:表明该类是一个service类
3、@Repository:表明该类是一个数据库访问组件
4、@Component:是一个通用的注解,作用就是将这个类交给Spring管理
5、@Autowired:它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。其通过byType方式,用来了给指定字段或方法注入所需的外部资源。
6、@Scope:指定装配bean的作用域
7、@RequestMapping:用来处理请求地址映射的注解
8、@RequestParam:获取请求的参数,控制层获取参数
9、@Resource:用来装配bean,按照byName进行装配,如果要用来装配接口类,需要指定装配哪个实现类。
-------------------------------------------------------------------------------------------------------1、什么是微服务
微服务关注的是某一个点,是具体解决某一个问题提供对应服务的一个服务应用,可以看作是是项目中的一个模块。
1.优点:每个服务足够内聚,足够小,开发简单,效率高。
松耦合,可以使用不同语言开发,易于和第三方集成
2.缺点:开发人员要处理分布式系统的复杂性,需要保证数据的一致性
2、微服务架构
微服务架构是一中架构模式,他提倡将单一应该程序划分成一组小的服务,服务之间相互协调,为用户提供最终价值,每个服务运行在独立的进程中,服务与服务采用轻量级的通讯机制互相协调(基于HTTP的RESTFul API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境。
3、什么是Spring Boot
Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了Spring的难度,省了繁重的配置,提供了各种启动器,开发者容易上手。
4、为什么使用Spring Boot
独立运行,简化配置,自动配置,上手容易,无代码生成和XML配置
5、Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。
application 主要用于 Spring Boot 项目的自动化配置。
bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性
6、Spring Boot 的配置文件有哪几种格式?它们有什么区别?
.properties和.yml两种格式,主要区别就是书写格式不同
.yml 格式不支持 @PropertySource 注解导入配置
7、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
Spring Boot 的核心注解是@@SpringBootApplication,包含3个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能
@EnableAutoConfiguration:打开自动配置的功能
@ComponentScan:Spring组件扫描。
8、开启 Spring Boot 特性有哪几种方式
1)继承spring-boot-starter-parent项目
2)导入spring-boot-dependencies项目依赖
9、Spring Boot 不需要独立的容器运行,Spring boot内置了Tomcat/Jetty容器
10、运行Spring boot有哪几种方式
1)打包用命令或者放到容器中运行
2)用 Maven/ Gradle 插件运行
3)直接执行 main 方法运行
11、Spring Boot 自动配置原理是什么?
从上边的@import的类可以找到下面自动加载自动配置的映射,这个方法会加载类路径及所有jar包下的META-INF/spring.factories配置中映射的自动配置的类。
12、Spring Boot读取配置的几种方式
1.在application.yml或者properties文件中添加的信息,用@Value注解读取
2.读取指定文件方式:在资源目录下建立文件,使用@PropertySource+@Value注解读取
@PropertySource不支持yml文件读取。
3.Environment读取方式:@Autowired
private Environment env;
13、Spring Boot将使用Logback作为默认日志框架