Which utility is commonly used in Spring Boot for performing HTTP requests in test scenarios?
- DataSource
- JdbcTemplate
- MockMvc
- RestTemplate
MockMvc is a widely used utility in Spring Boot for performing HTTP requests in test scenarios. It provides a convenient way to write unit tests for Spring MVC controllers and is often used for integration testing in Spring Boot applications.
The _____ file is crucial for defining custom Auto Configuration classes in Spring Boot.
- AutoConfiguration.java
- application.properties
- application.yml
- autoconfigure.properties
The "AutoConfiguration.java" file is crucial for defining custom Auto Configuration classes in Spring Boot. This is where you can define your own auto-configuration classes to customize the behavior of Spring Boot's auto-configuration process. Custom Auto Configuration classes are typically Java classes, and this file plays a central role in configuring them.
When using @PostAuthorize in Spring Security, the access control decision is made after the _____ has been invoked.
- controller
- method
- repository
- service
When using @PostAuthorize in Spring Security, the access control decision is made after the method has been invoked. This annotation allows you to specify additional checks on the return value of the method.
How can you specify that a bean should be injected with a specific qualifier when there are multiple candidates?
- Using the @Qualifier annotation.
- By using the @Inject annotation.
- Utilizing the @Autowired annotation.
- By configuring the application.properties file.
You can specify that a bean should be injected with a specific qualifier when there are multiple candidates by using the @Qualifier annotation in Spring. This annotation helps Spring identify which candidate bean should be injected into the target. The other options, such as @Inject and @Autowired, are used for dependency injection but do not directly deal with qualifier-based injection. The application.properties file is typically used for configuration and not for specifying bean injection.
The _____ plugin in a Spring Boot project's build file allows creating an executable JAR or WAR file.
- boot-executable
- executable-jar
- spring-boot-maven-plugin
- spring-war
In a Spring Boot project, you use the spring-boot-maven-plugin to create an executable JAR or WAR file. This plugin provides features like packaging your application with all its dependencies and specifying the main class to run when the JAR is executed. It simplifies the process of creating self-contained, executable Spring Boot applications.
How would you implement a custom error response structure when an exception occurs in a Spring Boot application?
- By modifying the default Spring Boot error page.
- By overriding the handleException method in a custom exception handler class.
- By configuring a custom ErrorAttributes bean to control the error response structure.
- By using the @ControllerAdvice annotation without customization.
To implement a custom error response structure in Spring Boot when an exception occurs, you can configure a custom ErrorAttributes bean. This bean allows you to control the error response structure. The other options don't provide a direct mechanism for customizing the error response structure.
In Spring Boot, when testing service layer components, the _____ annotation can be used to avoid loading the complete ApplicationContext.
- @DataJpaTest
- @MockBean
- @ServiceTest
- @SpringBootTest
When testing service layer components in Spring Boot, you can use the @MockBean annotation to mock dependencies and avoid loading the complete ApplicationContext. This helps in isolating the unit under test.
How does Spring Security handle password encoding by default?
- Spring Security does not handle password encoding by default.
- It uses BCrypt password encoding by default.
- It uses MD5 password encoding by default.
- It uses plain text storage for passwords by default.
By default, Spring Security handles password encoding using BCrypt. BCrypt is a secure and commonly used password hashing algorithm that helps protect user passwords. Spring Security's default behavior is to use BCrypt encoding to securely store and verify passwords, enhancing the security of user authentication. The other options are not the default mechanisms used by Spring Security for password encoding.
Which annotation is primarily used in Spring Boot to mark the main class of your application?
- @MainClass
- @SpringBootApplication
- @SpringBootClass
- @SpringMain
In Spring Boot, the primary annotation used to mark the main class of your application is @SpringBootApplication. This annotation not only marks the class as the main entry point but also enables various Spring Boot features like auto-configuration, component scanning, and more. It's the starting point for your Spring Boot application.
How can application properties be overridden in Spring Boot for different environments?
- By annotating the @OverrideProperties annotation on the class.
- By creating multiple instances of the SpringApplication class.
- By modifying the application.properties directly.
- Using environment-specific property files.
Application properties in Spring Boot can be overridden for different environments by using environment-specific property files. By naming these files application-{profile}.properties (e.g., application-dev.properties for the 'dev' profile), Spring Boot can load the properties specific to the active profile, allowing you to configure different settings for each environment. This is a key feature for maintaining configurations across various deployment scenarios.