第一次模拟测试

您所在的位置:网站首页 制作倒影需要用到以下哪些操作 第一次模拟测试

第一次模拟测试

2024-07-16 03:34| 来源: 网络整理| 查看: 265

1.如果你用@Component 来注解一个类,你应该做以下哪项才能让 Spring 自动检测到注解的类并将其加载为 bean?(选择一项)B

A.确保为该类指定一个有效的@Scope

B.确保在 Java 配置中指定一个有效的@ComponentScan 注解

C.确保在@Component 注解中指定一个有效的 bean 名称

D.确保为类指定一个有效的@Bean

A:@Scope 用于指定作用域; C:Spring 管理 Bean 可以生成默认的名称,不一定需要显式的指定名称; D:@Bean 注解不是用于类的。

2.以下哪项是对@PropertySource 注解的最佳解释?(选择一项)B

A.用于方便地从某个外部属性文件中查找并返回单个属性值

B.用于从某个外部来源向 Spring Environment 添加一组额外的 name/value 对

C.用于指定 Spring Boot 应用程序中 application. properties 文件的位置

D.Spring 框架中没有这样的注解

application. properties不需要指定,会默认读取

@PropertySource是用于从某个外部来源向 Spring Environment 添加一组额外的 name/value 对 

从外部引入其他的配置文件,读取到某个信息()之中之后加入到Spring Environment中,读取进去之后可以使用@value获取

3.考虑下面的 Java 配置类,声明的 bean 的 id/名称是什么?(选择一项)B

@Configuration public class AppConfig{ @Bean public ClientService clientService(){ return new ClientServiceImpl(); } }

A.clientServiceImpl(以小写"c"开头)

B.clientService(以小写"c"开头)

C.ClientServiceImpl(以大写"C"开头)

D.ClientService(以大写"C"开头)

bean产生时,如果未指定id,则以方法名,变量名为准,首字母小写

4.在应用程序的初始化过程中,这些事件将以什么顺序发生?请选择最佳答案。(选择一项)D

1. Setter 依赖注入

2. Bean 构造函数

3. 调用 BeanFactoryPostProcessors

4. 调用 BeanPostProcessors

A.2,1,3,4

B.2,1,4,3

C.3,1,2,4

D.3,2,1,4

E.4,2,1,3

3最先,4最后,先BFPP构建模型,构造实例化,再注入,再BPP初始化

默认的 Bean id/name 是@Bean 方法名称,也可通过@Bean 注解的方法

5.根据 REST 原则,更新编号为 1234 的 Order 的最佳方式是什么?(选择一项)A

A.向/orders/1234 发送 PUT 请求

B.向/orders/1234 发送 POST 请求

C.向/order/edit?id=1234 发送一个 POST 请求

D.向/order/edit?id=1234 发送 PUT 请求

选A rest排除cd,更新选择put请求

6考虑下图中的事务服务层类。 @Transactional(timeout=60) public class ClientServiceImpl implements ClientService { @Transactional(timeout=30) public void update1(){} } } 对事务的 update1 方法应用什么超时设置?(选择一项)B

A.这将无法编译。不能在类级声明 timeout,propagation 以及 isolation 等属性

B.30

C.60

D.90

E.这将无法编译。不能在方法级声明 timeout,propagation 以及 isolation 等属性

就近原则,产生冲突时,以方法为准选B

7.在ApplicationContext中定义使用singleton作用域的两个MyBean类型的bean,id为"myBean"1和"myBean2"。getBean(String id)方法对每个bean被调用一次。关于返回的两个引用,哪个说法是正确的?(选择一项)A

A.两个引用指向同一类型的不同实例

B.两个引用指向同一个bean实例

C.当ApplicationContext被初始化时,将抛出RuntimeException

D.其中一个引用将是null

选A:同一类型的不同名字的不同实例的bean不会冲突

8考虑下面的方法签名。

@PutMapping("/accounts/{id}") public void update(...) {...}

以下哪种方法是检索账户 id 的有效方法?(选择一项)D

A.public void update(@PathVariable long accountId)

B.public void update(@RequestParam("id") String accountId)

C.public void update(@RequestParam long accountId)

D.public void update(@PathVariable("id") String accountId)

选D put请求,且参数为“id”

9.考虑以下来自 @Configuration 类的代码,并应用 Spring 的默认行为,选择正确答案(选择一项)

@Configuration public class MyConfig { @Bean public AccountRepository accountRepository(){ return new JdbcAccountRepository(); } @Bean public TransferService transferService(){ TransferServiceImpl service = new TransferServiceImpl(); service.setAccountRepository(accountRepository()); return service; } @Bean public AccountService accountService(){ return new AccountServiceImpl(accountRepository()); } }

A.两个 AccountRepository bean 将被实例化,因为 accountRepository()方法将被调用两次

B.三个 AccountRepository bean 将被实例化,因为 accountRepository()方法将被调用三次

C.一个 AccountRepository bean 将被实例化,因为默认的作用域是 Singleton

D.许多 AccountRepository bean 将被实例化取决于调用 accountRepository(),transferService()和 accountService()的频率

选C:Spring IoC 的底层是基于代理模式的,即带@Bean 注解的方法是被 Spring 代理的,不会反复创建对象。

10.关于以下代码,哪个说法是正确的?(选择一项)(选择一项) ClientService service = applicationContext.getBean(ClientService.class);

A.这个语法是无效的,因为 getBean()方法调用的结果应该显式地投向 ClientService

B.这个语法是无效的,因为 bean id 必须被指定为方法参数

C.它返回名为"ClientService"的 bean

D.它返回的是一个类型为 ClientService 的 bean(不管它的 id 或名称是什么)

选D 如果该类型是唯一的,可以不用写bean的id,只写类名

以上代码是从 Spring 容器中获取对象的代码,当使用类作为 getBean()参数时,会尝试从 Spring 容器中获取匹配类型 的对象,原题和各选项中没有说明其它前提条件,则视为获取成功,返回匹配类型的对象,对象的 Bean id/name 是默认 名,即将类名的首字母改为小写的名称(如果类/接口名的前 2 个字母均是大写的,则 Bean id/name 与类/接口名完全相 同)。 源码中的方法签名: public T getBean(Class requiredType) throws

11.入门 POM 最恰当的描述是什么?(选择一项)

A.一个特定的 POM,你必须构建它来控制 Boot 的意见运行时

B.一种简单的方法,可以包含多个与特定技术相关的、协调的依赖项,如 web 或 JDBC

C.一种设置,用于指定你希望 Spring Boot 生成的代码

D.一个已有的模型项目,供你下载并作为项目的基础

选B

12.如果传播行为是 Propagation.REQUIRED,哪个说法最能描述传播行为:(选择一项)

A.如果存在活动事务,则在嵌套事务中执行;如果没有事务,则启动一个新的事务

B.如果已经存在事务,则在该事务中执行;如果没有事务,则在没有事务上下文的情况下执行

C.如果已经存在事务,则在该事务中执行;如果没有事务,则启动一个新的事务.

D.如果已经存在事务,则在该事务中执行;如果没有活动事务,则抛出一个异常

选C:REQUIRED以事务的方式运行,没有则创建

13.考虑下面的配置示例。以下哪个说法是正确的?(选择一项) 

@Configuration public class ApplicationConfig { @Bean public RewardNetwork rewardNetwork() { return new RewardNetworkImpl(accountRepository()); } @Bean public AccountRepository accountRepository() { return new JdbcAccountRepository(); } }

A.这种配置是正确的

B.这个配置是无效的,因为第一个 bean 应该有一个 id,可以使用@Bean("rewardNetwork")来设置它

C.这个配置是无效的,因为第二个 bean 应该有一个 id,可以使用@Bean("accountRepository")来设置它

D.这个配置是无效的,因为两个 bean 都应该有一个用@Bean 指定的 id

A是有效的可以这么使用

Spring 并不要求为每个 Bean 显式的指定 id/name,即使没有显式的指定,Spring 也会自动为 Bean 设置 id/name。

14.你希望应用一个 aspect 来阻止异常在堆栈中传播,并返回一个错误值。你会使用哪种类型的 advice?(选择一项) D

A."After Returning"

B."After Throwing"

C."After"

D."Around"

E."Before"

D:只有Around可以阻止异常传播

15.关于 Spring 的 JUnit 4 或 JUnit 5 集成测试支持,以下哪个说法是正确的?(选择一项)

A.为每个测试方法初始化并创建一个新的 ApplicationContext

B.在一个应用程序中,你必须使用 JUnit 4 或 JUnit 5 进行所有的测试

C.你可以通过@ContextConfiguration 来说明测试类将使用哪些配置类

D.为了获取要测试的 Spring Bean 的引用,你需要在提供的 Application Context 上调用 getBean()

选C

A大多数Spring Bean是无状态/不可变的单例,在任何测试中都不会被修改。不需要为每个测试建立新的上下文。

B 不一定要使用 JUnit 4 或 JUnit 5

C @ContextConfiguration(classes={SystemTestConfig.class})指向系统测试配置文件

@SpringJUnitConfig是一个“合成”注解,它整合了  

来自JUnit 5的@ExtendWith(SpringExtension.class) 来自Spring的@ContextConfiguration

D 可以使用注入的方法获取bean,这种方法是错误的

16.考虑下图中的事务性服务层类。你使用的是 Spring 事务,它内部使用 Spring AOP 调用 update1 方法时,发生了什么事情? (选择一项) C

public class ClientServiceImpl implements ClientService{ @Transactional (propagation=Propagation.REQUIRED) public void update1(){ update2(); } @Transactional(propagation=Propagation.REQUIRES_NEW) public void update2(){ } }

A.只有一个事务,因为如果已经存在一个事务,REQUIRES_NEW 将使用一个活动事务

B.有 2 个事务,因为 REQUIRES_NEW 总是在一个新的事务中运行

C.只有一个事务,因为对 update2()的调用是内部的(不通过代理)

C 因为是内部类加载,不会创建代理,执行事务,

解决方法:可以通过注入自己,注入其他类,通过AopContent

Spring 管理事务是基于接口代理的,如果是内部调用,则不重新经过代理对象,则无事务的特性,即在“内部调用” 时,被调用的方法上的@Transactional 是无效的,注解参数更加没有任何意义。

17.如果传播行为是 Propagation.REQUIRES_NEW,哪个说法最能描述传播行为?(选择一项)

A.如果存在活动事务,则在嵌套事务中运行;如果没有活动事务,则抛出一个异常

B.如果已经存在事务,则支持该事务;如果没有活动事务,则抛出一个异常

C.总是启动新事务;如果已经存在活动事务,则暂停该事务

D.总是启动新事务;如果已经存在活动事务,则抛出一个异常

选C REQUIRES_NEW必须新事务

18. Spring 将每个 bean 实例放在一个作用域中。默认的作用域是什么?(选择一项)

A.request

B.session

C.prototype

D.singleton

D:默认作用域为singleton

19.以下哪个说法最能说明"After Returning" advice 类型?(选择一项)

A.通常用于防止任何由 advice 方法抛出的异常在调用栈中传播

B."After Returning" advice 允许在方法返回后添加行为,即使它抛出了一个异常

C.该 advice 对方法的调用具有完全的控制权,它甚至可以完全阻止方法的调用

D.该 advice 只有在方法成功返回时才会被调用,如果该方法抛出异常则不会被调用

 选D

A:该 Advice 并不针对异常有特殊的处理; B:该 Advice 仅当方法返回了某个值之后才会执行,如果抛出异常,必然没有返回值; C:不在方法之前执行的 Advice 显然无法阻止方法的调用.

20.已给出下面的 pointcut,下列哪些关于 Spring AOP 的说法是正确的?(选择一项) execution(@com.mycomp.MyCustomAnnotation void *(..)) B

Spring 不支持其 pointcut 表达式语言内部的注解这将选择代表被@com.mycomp.MyCustomAnnotation 注解的 void 方法的 join point这将选择代表只位于根包中的类的方法的 join point这个 pointcut 将永远无法选择任何 join point

A.说法 2 和 3 是正确的

B.说法 2 是正确的

C.都是错误的

D.说法 4 是正确的

E.说法 1 是正确的

选B:AOP支持使用注解作为载入点,在需要使用AOP的类或方法上使用创建的注解,会将创建的注解的标记的位置作为一个载入点

说法1:About Pointcuts: Spring AOP uses AspectJ’s pointcut expression language, Spring AOP supports a practical subset.说法3:在execution表达式中,如果是 *(..) 格式,可以通配所有包(含各级子包),如果指定了包名,仅用于选择指定的包,并不包含子包,如果指定包名且需要通配子级包,需要在包名处使用 .. 进行通配。

21关于 Spring Boot 自动配置,以下哪些说法是正确的?(选择两项)

A.当缺少 bean 时,可能会发生自动配置。但当存在 bean 时,不会发生自动配置

B.自动配置是通过处理 Spring Boot 提供的自动配置类列表来执行的,每个自动配置类都使用不同的条件集

C.只有在应用级配置完成后,才会出现自动配置的情况

D.自动配置发生在应用级配置之前和之后

BC:

A:当缺少 bean 时,一定会发生自动配置。但当存在 bean 时,不会发生自动配置

B:通过pom导入的jar包进行自动配置

C,D:自动装配一定在应用级装配之后,如果该Bean被创建了,那么不会再自动创建。

定义显式创建的bean之后处理的自动配置类。

22.假设你想将所有的 Spring bean 类定义在一个名为"com.mycomp.service"的包下。要启用组件扫描,你必须执行以下操作:(选择两项)        CD

A.确保所有的 bean 类都用@ Autowired 来注解

B.在你的 Java 配置中添加@ComponentScan("com.mycomp.service")

C.确保所有的 bean 类都用@Bean 进行注解

D.确保所有的 bean 类都用@Component 或其中的一个定型注解(@Service,@Controller...)来注解

选CD

A@ Autowired是注入的,与扫描无关

B@ComponentScan("com.mycomp.service")已经被内置到Spring 的启动项之中

当需要 Spring 管理某个类的对象时,可以: --- 在类的声明之前添加组件注解(@Component、@Service 等),且类必须在组件扫描的包或其子孙包中; --- 自定义方法返回类的对象,在方法上使用@Bean 注解,并确保该方法所在的类会被 Spring 上下文加载

23.关于 Spring MVC,以下哪些说法是正确的?(选择三项)

A.Controllers 通常可以委托给 service bean 的 business 方法,因为 service bean 可以注入到 Controller 中去了

B.用@Controller 注解的类可以通过组件扫描检测到,并以 Spring bean 的形式加载

C.数据可以通过使用特殊的 Model 参数从 Controller 传递到 View 中

D.你不能在 Controller 类上使用构造函数注入

E.Controllers 必须注入@Service bean 或@Repository bean

选ABC

        D错误,在Controllers层中注入service层

        E,可以不注入,执行自己的方法

24以下关于@Autowired 注解的哪些说法是正确的?(选择两项)AD

A.可以使用 Autowired 将多个参数注入到一个方法中

B.默认情况下,如果一个依赖项不能用@Autowired 来满足, Spring 会抛出一个 RuntimeException

C.它不能用来注解字段,只能用来注解构造函数和方法

D.如果在一个类上使用了@Autowired,则会自动对所有的依赖项进行字段注入

选AB

        B抛出编译异常,而不是运行时异常

        C可以使用字段注入@Autowired private AccountRepository accountRepository;

25.以下哪些说法是 Spring Transaction Management 的特点?(选择三项)

A.它简化了向分布式事务的迁移

B.从本地事务切换到分布式事务,只需更改 Spring 配置就可以了

C.它提取了本地事务和分布式事务的区别

D.在本地事务和分布式事务的代码中事务失败的处理方式需要有所不同

选ABC

26.以下哪些注解是由@Spring Boot Application 组成的注解的元注解?(选择两项)

A.@SpringBootConfiguration

B.@Autowired

C.@SpringApplication

D.@ComponentScan

选AD

@SpringBootAppclation:

@SpringBootConfiguration  @ComponentScan("example.config")@EnableAutoConfiguration

27.JdbcTemplate 执行哪些操作:(选择三项) ABE

A.获得连接

B.执行语句

C定义数据源

D.生成 SQL 语句

E.解除连接

选ABE

29、【多选题】

Spring 应用程序可以使用以下哪种技术来定义 environment-specific 属性源?(选择两项)

A.environment-specific 属性源是一种反面模式, Spring 不支持这种属性源 

B.在提供给属性源的字符串中使用一个占位符,例如: @PropertySource("classpath:/com/acme/config/app- ${ENV}.properties“) 

C.使用@PropertySource 注解中的"env"属性来指定要加载的文件,例如 @PropertySource(env="dev",value="classpath:/com/acme/config/app-${env}.properties") 

D.使用@PropertySource 来注解一个用@Profile 注解的@Configuration 类 

【正确答案】B,D

【答案解析】@PropertySource没有env这个属性,A不支持怎么使用?排除法选BD

 

30.关于 Spring Boot 自动配置的自定义,以下哪些说法是正确的?(选择两项)

A.你可以通过将自动配置类子类化,明确地禁用一些自动配置 

B.你可以通过在 application. properties 文件中设置一个属性或使用@EnableAutoConfiguration 注解上的 exclude 属性来明确地禁用一些自动配置 

C.如果某些自动配置不适合你的需要,你可以明确地禁用它 

D.你只能禁用所有的自动配置。即,你不能只禁用部分自动配置 

【正确答案】B,C

【答案解析】可以禁用一部分,可以在配置文件中禁用,自动配置类没有子类化的说法

AutoConfiguration可以通过以下方式:控制,属性,明确的bean定义;禁用自动配置;改变依赖版本。

 

31.以下哪些说法描述了 JdbcTemplate 的特性?(选择两项)

A.它提供了一种处理结果集的回调方法 

B.开发者仍然负责从/到连接池获取和释放一个连接 

C.它可以抛出 checked exceptions 

D.它将根原因 checked exceptions 翻译成 Spring 的 DataAccessException 类型 

【正确答案】A,D

【答案解析】可以处理结果集,将sql异常以运行时异常的DataAccessException形式输出

 

 

32.关于 BeanPostProcessor 扩展点,以下哪些说法是正确的?(选择两项)

A.BeanPostProcessors 在 bean 生命周期的 init 阶段被调用 

B.可以实现自定义 BeanPostProcessor 

C.在注入依赖项之前,BeanPostProcessors 就被调用 

D.在 BeanFactoryPostProcessors 被调用之前, BeanPostProcessors 就被调用 

【正确答案】A,B

【答案解析】

33.以下哪项注入了"daily.limit"系统属性的值?(选择两项)

A.@Value("#{systemProperties.daily.limit}") 

B.@value("${daily.limit}") 

C.@value("#{daily. limit}") 

D.@Value("#{systemProperties['daily.limit']}") 

【正确答案】B,D

【答案解析】

34 当在一个类上使用@SpringBootApplication 时,以下哪些说法是正确的?(选择两项)

A.它使 Spring Boot 启用自动配置 

B.由于该类不是一个@Configuration 类,所以在该类中不能有@Bean 方法 

C.它使 Spring 从该类的包开始执行组件扫描 

D.它使 Spring Boot 构建一个可执行的 JAR 应用程序 

【正确答案】A,C

【答案解析】

B:@SpringBootApplication内置了@Configuration

D:@SpringBootApplication只是启动项,无法执行打包任务

 

35 哪些说法表明使用 Spring 的依赖注入的潜在优势:(选择三项)

A.应用组件之间的依赖项可以在组件本身的外部进行管理 

B.配置可以外部化并集中在一小组文件中 

C.测试变得更容易,因为在单元测试时,可以很容易地将 mock dependency 对象注入到依赖对象中 

D.依赖注入帮助 IDE 生成一些代码 

E.依赖注入可以减少应用程序的启动时间 

【正确答案】A,B,C

【答案解析】D:Spring 并不能作用于 IDE; E:应用程序的启动时间与依赖注入机制没有关系,一定程度上来说,由于 Spring 默认以饿汉式管理 Bean,由于有了依赖 注入,启动时间反而更久一些

36.以下哪些可以作为 controller 方法的参数?(选择三项)

A.Locale 

B.Principal 

C.HttpSession

D.Language 

E.Session 

【正确答案】A,B,C

【答题时间】2021-10-10 04:33:00

【答案解析】Locale,Principal ,HttpSession是controller 方法的参数。

language语言和session会话不是

 

37 以下哪些是 controller 方法参数的有效注解?(选择四项)

A.@RequestBody 

B.@ResponseBody 

C.@ResponseStatus 

D.@PathVariable 

E.@RequestParam 

F.@RequestHeader 

【正确答案】A,D,E,F

【答案解析】

 

关于基于 Spring Boot 的 Web 应用程序的"fat"jar,以下哪些说法是正确的?(选择两项)

A."fat"jar 必须是 JAR 文件,不能是 WAR 文件 

B."fat"jar 可以包含多个嵌入式服务器 

C."fat"jar 会被 Spring Boot Maven 插件或 Gradle 插件构建起来 

D."fat"jar 可以在容器和云平台上轻松部署 

【正确答案】C,D

【答案解析】A:还可以是可以是war文件    B:只能有一个

 

39.关于 advice 类型和异常处理,以下哪些说法是正确的?(选择两项)

A."After Returning" advice 类型可以吞没或阻止目标方法抛出的异常的传播 

B.如果"Before" advice 方法抛出异常,则不会调用目标方法 

C."Around"advice 类型可以吞没或阻止目标方法抛出的异常的传播 

【正确答案】B,C

【答题时间】2021-10-10 04:33:00

【答案解析】A:After Returning -- 先执行目标方法,当成功返回某个值后才会触发,不能阻止异常传播; B:Before -- 在目标方法之前触发,和方法运行状态无关; C:Around -- 在目标方法之前触发,且在触发后自行调用目标方法,则调用时可处理异常。

 

40.在 Spring 中使用事务需要以下哪些内容?(选择两项)

A.将@EnableTransactionManagement 添加到一个 Java 配置类中 

B.写一个 Spring AOP advice 来实现事务性行为 

C.用@Transactional 注解来注解一个需要事务的接口、类或单个方法 

D.用@Service 和@Transactional 注解来注解一个类 

【正确答案】A,C

【答案解析】

41 关于@EnableAutoConfiguration 注解,以下哪些说法是正确的?(选择两项)

A.如果没有 application. properties 或 application.yml 文件,就不能使用它 

B.它是由@SpringBootConfiguration 合成的注解的元注解 

C.它是由@SpringBootApplication 合成的注解的元注解 

D.它使 Spring Boot 自动创建它认为应用程序需要的 bean 

【正确答案】C,D

【答案解析】Spring boot启动项的解析_sayhitoloverOvO的博客-CSDN博客

 

42 当 Spring 容器正常关闭时,要在 bean 上调用"cleanup"方法,可以使用以下哪种技术?(选择两项)

A.用@PreDestroy 注解该方法 

B.任何方法名为 preDestroy 的方法都会被自动调用 

C.在@Configuration 类中,用@Bean(destroyMethod="cleanup")来注解创建该 bean 的方法 

D.定义一个 id="shutdown"的 bean,让它调用 cleanup 方法 

【正确答案】A,C

【答题时间】2021-10-10 04:33:00

【答案解析】销毁容器时,可以使用@PreDestroy注解,在该bean销毁之前执行一个逻辑方法,而不是调用另一个bean。

43.JdbcTemplate 可以用来查询哪些类型的对象?(选择三项)

A.Domain Objects 

B.简单类型(int、long、 String 等) 

C.JSONObject 

D.Generic Maps 

【正确答案】A,B,D

【答案解析】

44 以下哪项注解将一个类标记为组件扫描器的 Spring bean?(选择四项)

A.@Autowired 

B.@Configuration 

C.@Service 

D.@Controller 

E.@Aspect 

F.@Component 

【正确答案】B,C,D,F

【答题时间】2021-10-10 04:33:00

【答案解析】

A:@Autowired 是用注入bean的,是对已有bean的操作

E:@Aspect 只表示类是一个“切面类”,需结合@Component 或其它组件注解才可以被 Spring 扫描。

 

45.关于@RequestMapping 注解,以下哪些说法是真的?(选择三项)

A.利用 method 属性,它可以替代@GetMapping 或@PutMapping 

B.你可以使用它在一个@Controller 注解的类中注解一个方法 

C.它是一个将网络请求映射到 Controller 方法的注解 

D.不支持 HEAD 方法 

E.可用于将 Controller 方法映射到 View 

【正确答案】A,B,C

【答案解析】head 标签头,@RequestMapping支持获取标签头的信息。 Controller 方法应先映射到视图映射器,转换成视图之后交给View 

 

46.Spring-boot-starter-test 提供了哪些依赖项?(选择三项)

A.Cucumber 

B.spring-test 

C.Hamcrest 

D.JUnit 

E.EasyMock 

【正确答案】B,C,D

【答案解析】B,springtest的依赖 C,Hamcrest 匹配器 D,JUnit测试依赖(固定设置)

 

47 关于 pointcut 表达式,以下哪些说法是正确的?(选择两项)

A.pointcut 表达式的方法名不能有通配符 

B.pointcut 表达式可以包括以下运算符:&&(and)、ll(or)、!(not) 

C.pointcut 表达式可以用来选择已被特定注解的 join point 

D.pointcut 表达式不能指定参数的类型 

【正确答案】B,C

【答案解析】A可以有通配符,B可以包括运算符,C可以使用注解确定连接点的位置,D可以确定切入点的表达式

48 关于 Spring AOP,以下哪些说法是正确的?(选择两项)

A.横切关注点的例子包括安全、缓存、事务 

B.Spring AOP 不使用 AspectJ 的 pointcut 表达式语言 

C.无论方法是否成功返回或抛出异常,都会调用"After"advice 类型 

D.在 Spring AOP 中,一个 join point 代表一个方法执行或属性访问 

【正确答案】A,C

【答题时间】2021-10-10 04:33:00

【答案解析】A横切关注点就是非核心的扩展逻辑 。B:SpringAOP使用的就是AspectJ。C无论是否发生异常都会执行"After"advice。因为它在方法运行之前运行。D。一个join point表示一个连接点

 

49下图显示了在"META-INF/spring.factories"文件中指定的自动配置类

@Configuration @ConditionalOnClass(HelloService.class) public class HelloAutoConfig{ @ConditionalOnMissingBean(HelloService.class) @Bean HelloService helloService(){ return new TypicalHelloService(); } }

以下哪些说法是正确的?(选择两项)

A.只有当 ApplicationContext 中没有其他 HelloService bean 时,才会从 helloService()方法中创建一个新的 HelloService bean 

B.只有当 HelloService.class 在 classpath 中时,才会使用这个自动配置类 

C.从 helloService()方法中将创建一个新的 HelloService bean,如果 ApplicationContext 中已有一个 HelloService bean,它将替换现有的 HelloService bean 

D.即使 HelloService.class 不在 classpath 中,也会从 helloService()方法中创建一个新的 HelloService bean 

【正确答案】A,B

【答案解析】@ConditionalOnMissingBean没有创建,有不创建该bean。只有有了HelloService.class资源,才会创建,否则不回加载

@ConditionalOnClass:是 Spring Boot 实现自动配置的重要支撑之一。其用途是判断当前 classpath 下是否 存在指定类,若是则将当前的配置装载入 spring 容器; --- @ConditionalOnMissingBean:在容器加载它作用的 bean 时,检查容器中是否存在目标类型 (ConditionalOnMissingBean 注解的 value 值)的 bean 了,如果存在跳过原始 bean 的 BeanDefinition 加载动作

 

50 关于基于 Spring Boot 的 Spring MVC 应用程序,以下哪些说法是正确的?(选择两项)

A.Jetty 是默认的嵌入式 Web 服务器 

B.Spring Boot 默认启动嵌入式 Web 服务器 

C.你可以在运行时让两台嵌入式服务器共享同一个端口 

D.你可以用你选择的服务器替换默认的嵌入式 Web 服务器 

【正确答案】B,D

【答案解析】默认的嵌入式web服务器是tomcat,一个端口只能够有一个服务器

 外部化属性:_sayhitoloverOvO的博客-CSDN博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3