In the Spring Boot project structure, the _____ directory is recommended for placing application's static content.

  • assets
  • resources/static
  • static-content
  • web-resources
In Spring Boot, the recommended directory for placing static content like CSS, images, and JavaScript files is the resources/static directory. When you place static resources there, Spring Boot serves them directly to clients, making it suitable for web assets that do not require dynamic processing by a controller.

You are developing a Spring Boot application which utilizes reactive programming to handle real-time data. How would you design the application to handle high volumes of concurrent requests efficiently?

  • Use a single-threaded event loop to process requests.
  • Use a thread pool to handle incoming requests.
  • Use the @Async annotation to make controller methods asynchronous.
  • Implement reactive backpressure to control the rate of data flow.
When dealing with high volumes of concurrent requests in a reactive Spring Boot application, it's crucial to implement reactive backpressure. Reactive backpressure allows the application to control the rate at which data flows, preventing overloading. The other options may not efficiently handle high concurrency. A single-threaded event loop would be blocking, a thread pool may lead to resource exhaustion, and the @Async annotation doesn't necessarily implement backpressure.

How can @ControllerAdvice be used to customize the response body of a global exception handler?

  • By extending @ControllerAdvice from a custom class.
  • By annotating the custom class with @ExceptionHandler.
  • By configuring the @ControllerAdvice annotation with custom media types.
  • By configuring the @ControllerAdvice annotation with @ResponseBodyAdvice classes.
@ControllerAdvice in Spring can be used to handle exceptions globally. To customize the response body, you can use @ControllerAdvice in combination with @ResponseBodyAdvice classes. These classes can customize the response format for specific exception types. The other options may be components used in the process but don't directly address customizing the response body.

In Spring Boot, to map HTTP GET requests to a specific handler method, the _____ annotation is used.

  • @GetMapping
  • @RequestMapping
  • @RequestMethod
  • @GetMappingRequestMapping
In Spring Boot, the @GetMapping annotation is used to map HTTP GET requests to a specific handler method. This annotation helps define which method should be invoked when a GET request is made to a particular URL. The other options are not used specifically for mapping GET requests in Spring Boot.

The _____ property in Spring Boot is used to set the TTL (Time-To-Live) for cache entries.

  • spring.cache.duration
  • spring.cache.expire
  • spring.cache.timeout
  • spring.cache.ttl
The spring.cache.ttl property in Spring Boot is used to set the Time-To-Live (TTL) for cache entries. This property allows you to specify the maximum amount of time a cache entry should remain valid. When the TTL expires, the cached data is considered stale and is evicted from the cache. It's an important property for cache configuration in Spring Boot.

How can you perform integration testing on security configurations in a Spring Boot application to ensure security constraints are met?

  • Use @SpringBootTest with a custom security configuration
  • Use @WebMvcTest with a custom security configuration
  • Use @AutoConfigureMockMvc with a custom security configuration
  • Use @SecurityTest annotation
To perform integration testing on security configurations in Spring Boot, you can use the @SpringBootTest annotation with a custom security configuration. This allows you to test security constraints in the context of the whole application. The other options may not cover all security aspects in the same way.

When using _____ in Spring Boot, you can simulate HTTP requests to test web layers without running the server.

  • @ControllerTest
  • @RestTest
  • @ServiceTest
  • @WebMvcTest
In Spring Boot, the @WebMvcTest annotation is used to simulate HTTP requests and test the web layers (controllers) without starting a full web server. It focuses on testing the web-related components of your application.

How can you handle validation errors globally across the application in a centralized manner?

  • Use the @ExceptionHandler annotation on each controller method.
  • Implement a custom exception handler for each validation error.
  • Define a global exception handler using the @ControllerAdvice annotation.
  • Handle validation errors separately in each controller without centralization.
To handle validation errors globally across a Spring Boot application in a centralized manner, you should define a global exception handler using the @ControllerAdvice annotation. This allows you to handle validation errors uniformly across all controllers, promoting code reusability and centralization. Options 1 and 2 are incorrect as they involve handling errors at the controller level, and Option 4 is not recommended as it lacks centralization.

The @PreAuthorize annotation in Spring Security uses _____ expressions to define access controls.

  • Java
  • SQL
  • SpEL (Spring Expression Language)
  • YAML
The @PreAuthorize annotation in Spring Security uses SpEL (Spring Expression Language) expressions to define access controls. SpEL allows you to write expressive and dynamic access control expressions based on the current authentication context.

Which of the following annotations is used to map a web request to a specific handler method?

  • @RequestMapping
  • @ResponseBody
  • @PostMapping
  • @Autowired
The @RequestMapping annotation is used to map a web request to a specific handler method in a Spring Boot controller. It allows you to specify the URL path, HTTP method, and other parameters to define how the request should be routed to the appropriate method. The other options, such as @ResponseBody, @PostMapping, and @Autowired, serve different purposes in Spring Boot but are not used for request mapping.