Spring 专业认证考试学习指南

  • 1.1 Spring 专业认证考试简介
  • 1.2 Spring 专业认证考试学习资料
  • 1.3 Spring 专业认证考试范围
  • 1.4 Spring 专业认证考试费用
  • 1.5 Spring 专业认证考试知识点汇总
    • 1.5.1 Container, Dependency ,AOP和 IOC
      • 1.5.1.1 Container
      • 1.5.1.2 Dependency
      • 1.5.1.3 AOP
    • 1.5.2 Data Management: JDBC, Transactions
    • 1.5.3 Spring Data JPA
    • 1.5.4 Security
    • 1.5.5 REST
    • 1.5.6 Testing
    • 1.5.7 Spring Boot 介绍
    • 1.5.8 Spring Boot Auto Configuration
    • 1.5.9 Spring Boot Actuator
    • 1.5.10 Spring Boot Testing

今天逛Spring 官网发现Spring 官方早在今年五月份就推出了一套Spring 专业认证考试。

接下来让我们一起来官网了解下吧。

1.1 Spring 专业认证考试简介

打开Spring 官网,我们可以看到如下简介:

上面翻译后大致意思是: Spring 专业认证考试旨在测试和验证 您对Spring的理解和熟悉

打开介绍看了下,学习资料是免费的,但是考试测评是收费的。

详情如下所示:

1.2 Spring 专业认证考试学习资料

考试资料如下:

  • Download Study Guide
  • Download Exam Brief

1.3 Spring 专业认证考试范围

Spring 专业认证考试旨在测试和验证您对以下方面的理解和熟悉:

  • Container basics
  • Aspect Oriented Programming (AOP)
  • Data access and transactions
  • Spring model-view-controller (MVC)

考试主题范围如下:

  • Container (20%)
  • AOP (8%)
  • JDBC (4%)
  • Transactions (8%)
  • MVC (8%)
  • Security (6%)
  • REST (6%)
  • JPA Spring Data (4%)
  • Testing (4%)
  • Boot Into (8%)
  • Boot Autoconfig (8%)
  • Boot Actuator (8%)
  • Boot Testing (8%)

考试时间是90分钟,通过率76%以上视为合格。

1.4 Spring 专业认证考试费用

看了下考试费用是169美元

折算成人民币是多少钱呢?

然后除此之外,推荐了四天的核心备战考试课程,价格也是不菲哈。

他们可能真的不知道中国国内行情,定价真贵。。。

1.5 Spring 专业认证考试知识点汇总

考试费用我是考不起了,不过这些题目大纲感觉还是很有学习价值的。

接下来我们就一起盘点下这些Spring 核心技术栈需要掌握的东西吧。

1.5.1 Container, Dependency ,AOP和 IOC

1.5.1.1 Container

  • 什么是DI( dependency injection) 以及有什么优点?
  • 什么是一个接口?他们在Java中使用有什么优点?
  • 为什么推荐使用Spring Beans?
  • application-context 应用程序上下文是什么意思?
  • 如何创建一个新的ApplicationContext 实例?
  • 能否在ApplicationContext中描述Spring Bean的生命周期
  • 如何在集成测试中创建ApplicationContext?
  • 关闭 application context (应用程序上下文)的首选方法是什么? Spring Boot是否是这样做的?

1.5.1.2 Dependency

  • 如何使用Java Configuration 实现依赖注入?
  • 如何使用@Autowired 注解实现依赖注入?
  • 能否描述下 Component scanning 组件扫描?
  • 能否描述下Spring Beans 的范围?默认的范围是什么?
  • Beans 默认是懒加载还是优先加载? 如何改变这种行为?
  • 什么是property?如何使用 @PropertySource
  • BeanFactoryPostProcessor 是什么?它是用来做什么的? 什么时候开始调用?
  • 为什么要定义静态@Bean方法?
  • ProperySourcesPlaceholderConfigurer 是用来干什么的?
  • BeanPostProcessor 是什么?它和BeanFactoryPostProcessor 有什么不同?它们可以做什么?什么时候调用?
  • 什么是初始化方法?在Spring Bean 中如何声明它?
  • 什么是销毁方法,如何声明它和什么时候它会被调用?
  • 考虑如何启用JSR-250 注解,比如@PostConstruct 和@PreDestroy ,它们什么时候/如何被调用?
  • 您还可以如何为Spring bean定义初始化或销毁方法?
  • component-scanning组件扫描是干啥的?
  • @Autowired 注解作用到字段注入,构造注入和方法注入,有什么不同?
  • 如果想对私有的成员字段注入一些东西,该怎么做?这对测试有什么影响?
  • @Qualifier注解如何补充@Autowired的使用?
  • 什么是代理对象,Spring可以创建两种不同类型的代理?
  • 这些代理(每种类型)的局限性是什么?
  • 代理对象的功能是什么,缺点在哪里?
  • @Bean 注解是干什么的?
  • 如果仅使用@Bean,默认的bean ID是什么? 您如何覆盖它?
  • 为什么不允许使用@Configuration 注解作用在一个final 类上?
  • 如何让 拥有@Configuration注解的类支持单例bean
  • 为什么@Bean 注解方法也不能是final 的?
  • 如何配置profiles文件? 有哪些可能有用的用例?
  • @Bean@Profile 可以一起使用吗?
  • @Component@Profile 可以一起使用么?
  • 可以有多少个Profiles 文件?
  • 如何将scalar/literal (标量/文字)值注入Spring Bean
  • @Value 注解是用来做什么的?
  • 什么是Spring Expression Language(简称SpEL
  • Spring 的抽象的 Environment是什么?
  • Environment中的properties 从何而来–有许多来源属性
    如果不确定,请检查文档。 Spring Boot增加了更多。
    -我们可以使用SpEL引用什么?
  • @Value表达式中的$有什么区别?

1.5.1.3 AOP

面向切面编程

  • AOP的概念是什么? 它解决什么问题? 跨域需要注意什么?
  • 列举三个典型的切面的注意事项。
  • 如果您不通过AOP解决跨领域问题,会出现哪两个问题?
  • 什么是pointcut(切入点),join point(连接点),advice(建议),aspect(方面),weaving(编织)?
  • Spring如何解决(实现)跨域问题?
  • 两种代理类型有哪些局限性?
  • 使用Spring AOP必须代理Spring bean方法什么可见性?
  • Spring支持多少种建议类型。 可以给每个命名吗?
  • 他们的用途是什么?
  • 如果您想尝试捕获异常,可以使用哪两个建议?
  • 您需要做什么才能启用@Aspect注解的检测?
  • @EnableAspectJAutoProxy 注解是做什么的?
  • 如果显示了切入点表达式,您能理解它们吗?
  • 例如,在课程中,我们在Spring Beans上匹配了getter方法,那么正确的切入点表达式 是匹配getter和setter方法?
  • JoinPoint参数用于什么?
  • 什么是ProceedingJoinPoint? 什么时候使用?

1.5.2 Data Management: JDBC, Transactions

  • 已检查和未检查的异常之间有什么区别?
  • 为什么Spring更喜欢未检查的异常?
  • 什么是数据访问异常层次结构?
  • 如何在Spring中配置数据源? 哪个bean对开发/测试数据库非常有用?
  • 什么是模板设计模式,什么是JDBC模板?
  • 什么是回调? 可以使用的三个JdbcTemplate回调接口是什么有疑问吗? 每个都有什么用? (您不必记住界面 名称,但如果您在代码示例中看到它们,则应该知道它们的作用。)
  • 您可以使用JDBC模板执行普通的SQL语句吗?
  • 对于每种方法,JDBC模板何时获取(并释放)连接 每个模板调用一次还是一次? 为什么?
  • JdbcTemplate如何支持通用查询? 它如何返回对象以及列表/对象图?
  • 什么是事务? 本地事务和全局事务有什么区别?
  • 事务是否是跨域的关注点? Spring如何实现?
  • 您将如何在Spring中定义事务?
  • @Transactional是做什么的? 什么是PlatformTransactionManager
  • JDBC模板是否可以参与已存在的事务?
  • 什么是事务隔离级别? 我们有多少,如何定制?
  • @EnableTransactionManagement 注解是做什么的?
  • 事务传递是什么意思?
  • 如果一个@Transactional带注解的方法在同一对象实例上调用另一个@Transactional带注解的方法会发生什么?
  • 在哪里可以使用@Transactional 注解? 如果您将其放在class 类级别上,通常有什么用法?
  • 声明式事务管理是什么意思?
  • 默认回滚策略是什么? 如何重写它?
  • 当您使用JUnit测试时,默认的回滚策略是什么? 当我们使用JUnit 4中的@RunWith(SpringJUnit4ClassRunner.class)或 JUnit 5中的@ExtendWith(SpringExtension.class)的注解,您的@Test注解@Transactional的方法?
  • 为什么“工作单元”一词如此重要,为什么JDBC AutoCommit违反了这种模式?
  • 如果您想使用JPA,在Spring需要做什么?
  • 使用JPA时,当Spring 和JPA 一起使用的时候,可以参与已有的事务么?
  • 您可以在JPA中使用哪些PlatformTransactionManager
  • 您需要配置什么才能在Spring中使用JPASpring Boot如何使这更容易?

1.5.3 Spring Data JPA

  • 什么是 Repository 接口?
  • 如何定义Repository 接口? 为什么它是一个接口而不是类?
  • Repository接口中的finder方法的命名约定是什么?
  • Spring在运行时如何实现Spring Data repositories (存储库)?
  • @Query 注解是用来做什么的? Spring MVC和Web层
  • MVC是一个设计模式的缩写。 它代表什么,它背后的思想是什么?
  • 什么是DispatcherServlet,它的作用是什么?
  • 什么是web application context(Web应用程序上下文)? 它提供什么额外的范围?
  • @Controller注解有什么用?
  • 传入请求如何映射到控制器然后映射到方法?
  • @RequestMapping@GetMapping 注解不同之处是什么?
  • @RequestParam 是做什么的?
  • @RequestParam 和@PathVariable 的不同之处是什么?
  • 控制器方法的参数类型有哪些?
  • 您还可以在控制器方法参数上使用哪些其他注解? (您可以忽略此考试的表单处理注释)
  • 控制器方法的有效返回类型有哪些?

1.5.4 Security

  • 什么是身份验证和授权? 哪一个必须优先?
  • security 是跨领域关注的问题吗? 在内部如何实现?
  • 什么是委派过滤器代理?
  • 什么是安全过滤器链?
  • 什么是 security context ?
  • antMatchermvcMatcher中的**模式有什么作用
  • 为什么在antMatcher上推荐使用mvcMatcher
  • Spring Security是否支持密码哈希? 什么是salt 盐?
  • 为什么需要方法安全性? 该方法通常保护哪种类型的对象级别(考虑其用途而不是其Java类型)。
  • @PreAuthorized@RolesAllowed注解是做什么? 它们之间有什么区别?
  • 这些注解如何实现?
  • 您可以在哪个security 注解中使用SpEL?

1.5.5 REST

  • REST代表什么?
  • resource 是什么?
  • CRUD 是什么意思?
  • REST安全吗? 您可以采取什么措施来保护它?
  • REST是否可扩展和/或可互操作?
  • REST使用哪些HTTP方法?
  • 什么是HttpMessageConverter
  • REST通常是无状态的吗?
  • @RequestMapping有什么作用?
  • @Controller是构造型吗? @RestController是构造型吗?
  • 什么是构造型注解?这意味着什么?
  • @Controller@RestController有什么区别?
  • 您何时需要@ResponseBody
  • GETPOSTPUTDELETEHTTP状态返回码是什么?
  • 什么时候需要@ResponseStatus
  • 在哪里需要@ResponseBody@RequestBody呢?尽量不需要混淆了。
  • 如果您看到了示例控制器代码,您是否了解它在做什么?你能否告诉是否正确注解?
  • 您的类路径中是否需要Spring MVC
  • 对于Spring REST应用程序,您将使用哪种Spring Boot Starter?
  • RestTemplate的优点是什么?
  • 如果您看到一个使用RestTemplate的示例,您会理解它的作用吗?

1.5.6 Testing

  • 您是否在单元测试中使用Spring?
  • 什么类型的测试通常使用Spring?
  • 如何在JUnit集成测试中创建共享的应用程序上下文?
  • 在测试时 什么时候,什么地方使用@Transactional
  • 如何使用Mockito或EasyMock等模拟框架?
  • @ContextConfiguration如何使用?
  • Spring Boot如何简化编写测试?
  • @SpringBootTest做什么? 它如何与@SpringBootApplication@SpringBootConfiguration交互?

1.5.7 Spring Boot 介绍

  • Spring Boot 是什么?
  • 使用Spring Boot有什么优势?
  • 为什么它是 opinionated (自以为是)的?
  • 哪些因素会影响Spring Boot的设置?
  • 什么是 Spring Boot starter POM ?为什么它是有用的?
  • Spring Boot同时支持properties和YML文件。 如果你看到,你能识别和理解他们么?
  • 您可以使用Spring Boot控制日志记录吗? 怎么控制?
  • 默认情况下,Spring Boot在哪里寻找properties文件?
  • 如何定义特定于配置文件的properties文件?
  • 如何访问properties文件中定义的属性?
  • 您必须定义哪些属性才能配置外部MySQL?
  • 您如何配置默认schema 表结构 和初始数据?
  • 什么是 fat jar? 它和原始的jar 有什么不同?
  • 嵌入式容器和WAR有什么区别?
  • Spring Boot支持哪些嵌入式容器?

1.5.8 Spring Boot Auto Configuration

  • Spring Boot如何知道要配置什么?
  • @EnableAutoConfiguration做什么?
  • @SpringBootApplication做什么?
  • Spring Boot是否进行组件扫描? 默认情况下它在哪里?
  • 如何自动配置DataSourceJdbcTemplate
  • spring.factories文件有什么用?
  • 如何自定义Spring自动配置?
  • @Conditional注解的示例是什么? 如何使用?

1.5.9 Spring Boot Actuator

  • Spring Boot Actuator提供什么值?
  • 您可以使用哪两种protocols 协议访问actuator endpoints?
  • 开箱即用的actuator endpoints有哪些?
  • 信息endpoints的作用是什么? 您如何提供数据?
  • 如何使用loggers endpoint更改包的日志记录级别?
  • 如何使用标签访问端点?
  • metrics 指标是什么?
  • 如何创建带有或不带有标签的自定义指标?
  • 什么是健康指标?
  • 开箱即用的健康指标是什么?
  • 健康指标状态是什么?
  • 开箱即用的健康指示器的状态是什么?
  • 您如何更改健康指标状态严重性顺序?
  • 为什么要利用第三方外部监控系统?

1.5.10 Spring Boot Testing

  • 什么时候要使用@SpringBootTest 注解?
  • @SpringBootTest自动配置什么?
  • spring-boot-starter-test 会给classpath添加什么依赖?
  • 如何使用@SpringBootTest对Web应用程序执行集成测试?
  • 您何时要使用@WebMvcTest? 它会自动配置什么?
  • @MockBean@Mock有什么区别?
  • 您何时需要@DataJpaTest? 它会自动配置什么?

本篇完~

  • 如果喜欢我的博文,欢迎点击关注和点赞。
  • 交流即分享,分享才能进步。

Spring 专业认证考试学习指南相关推荐

  1. 阿里云云计算专业认证考试备考指南

    礼拜天的下午四点,查询成绩,阿里云云计算专业认证考试(Alibaba Cloud Certified Professional,ACP)通过了,非常的开心.从准备考试到考试,前前后后大概花了半个月的时 ...

  2. Adobe Photoshop CC 国际认证考试学习指南(一)

    保存和导出 了解如何在设计⾏业取得成功的⼀个关键概念是如何准备⽤于各种⽤途和媒介的导出图像.下⾯列出的资源将帮助您了解在Photoshop CC中保存和导出⽂件的各种⽤途的基本知识. •⽀持的⽂件格式 ...

  3. 接下来的认证考试 阿里云云计算专业认证考试(ACP级)

    接下来的认证考试 阿里云云计算专业认证考试(ACP级) 阿里云云计算专业认证考试(Alibaba Cloud Certified Professional,ACP)是面向使用阿里云云计算产品的架构.开 ...

  4. 阿里云云计算专业认证考试(ACP级)

    阿里云云计算专业认证考试(Alibaba Cloud Certified Professional,ACP)是面向使用阿里云云计算产品的架构.开发.运维人员的专业技术认证. 考试报名后建议您提前参加阿 ...

  5. 【大数据】阿里云大数据专业认证考试

    大数据: 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资 ...

  6. 阿里云ACP专业认证考试流程

    云计算并不是新兴领域,云计算是所有互联网服务的基础,可以说,未来云计算领域会成为传统行业,人们使用云计算资源就像用水.用电一样常见和方便.阿里云.腾讯云.百度云.华为云.美团云.滴滴云等等互联网大佬都 ...

  7. Adobe国际认证 Illustrator CC 考试学习指南

    Adobe Illustrator 概述 Illustrator程序可让您为任何媒体创建徽标,图标,绘图,排版和复杂插图. Illustrator 工作区概述 A. 选项卡式文档窗口 B. 申请栏 C ...

  8. 数据治理专业认证CDMP学习笔记(思维导数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第11章数据仓库和商务智能篇...

    大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...

  9. 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第八章数据集成和互操作篇...

    大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...

  10. 2021年NPDP产品经理认证考试报考指南

    摘要:本文为大家整理的是NPDP考试报考指南,其中涉及到NPDP考试时间.考试题型.考试难度.报名时间.报名条件.报名入口.考试费用.资格审核.报名流程.准考证打印.证书含金量.成绩查询.证书领取.通 ...

最新文章

  1. ios 设置属性的center_ios-坐标系统(详解UIView的frame、bounds跟center属性[图])
  2. //yield return用于无缝实现迭代模式。
  3. mysql 删除记录代码_mysql 删除记录时报错
  4. 【LeetCode笔记】19.删除链表的倒数第N个结点(Java、快慢指针)
  5. 《算法导论》读书笔记之第1章 算法在计算机中的作用
  6. android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果
  7. 图表graph之增加曲线
  8. 【英语学习】【Level 07】U02 Live Work L1 Welcome to my home
  9. 系统学习NLP(十七)--文本相似度
  10. CSS3中的transform-origin的用法以及与perspective、perspective-orgin的不同
  11. 【Git/Github学习笔记】Git的工作流程
  12. php函数 call_user_func
  13. RSA算法生成2048位公私钥
  14. 风控教父谈模型风险管理(中文版)
  15. linux硬盘支持fat32,Linux下,挂载windows管理格式的FAT32/NTFS 硬盘
  16. 【基于python实现UI自动化】6.selenium实现浏览器相关操作(最大化、自定义宽高、前进、后退)
  17. Cobuyor持续回报模式在电子商务支付交易体系中的地位和趋势
  18. 中国新鲜杏子行业市场供需与战略研究报告
  19. 我的世界mod服务器详细搭建
  20. 计算机深度睡眠状态啥意思,什么是计算机的“深度睡眠”模式?

热门文章

  1. 《爱的五种语言》阅读笔记
  2. java分号_java – 为什么这些分号不会产生错误?
  3. SpringBoot整合Redis + SpringCache + Protobuf,优雅地实现key-value键值对存储DEMO。
  4. python游戏数据分析
  5. 梦幻之旅:盘点一生必去的50…
  6. css display:flex 属性
  7. html水平分割线虚线代码,CSS分割线虚线代码
  8. 状压DP例题(种花小游戏+广场铺砖)
  9. php fpm在哪配置,php配置php-fpm启动参数及配置详解
  10. 苹果iPad air技巧教程:50个实用小技巧