When creating a custom error response in Spring Boot, the _____ method of the ResponseEntity class can be used to set the HTTP status code of the response.

  • setHttpStatus
  • status
  • statusCode
  • statusSet
When creating a custom error response in Spring Boot, you can use the status method of the ResponseEntity class to set the HTTP status code of the response. This allows you to return specific HTTP status codes along with custom error messages, providing clear information to clients about the nature of the error that occurred.

How do you bind the HTTP request body to the parameters of a method in a Spring Boot application?

  • Using the @RequestBody annotation.
  • By defining a custom method in Spring Boot.
  • By using the @RequestParam annotation.
  • Through the @PathVar annotation.
In a Spring Boot application, you bind the HTTP request body to the parameters of a method using the @RequestBody annotation. This annotation tells Spring to convert the incoming request body to the corresponding Java object automatically. It's commonly used for processing JSON or XML data sent in the request body. The other options are not typically used for this purpose.

How can you create a custom query method in a Spring Data JPA repository?

  • By defining a method in the repository interface with a name that follows specific conventions.
  • By using the @Query annotation to specify the JPQL query.
  • By extending the JpaRepository interface and inheriting built-in methods.
  • By using the @CustomQuery annotation to define the custom query.
In Spring Data JPA, custom query methods are created by defining a method in the repository interface with a name that follows specific conventions. Spring Data JPA analyzes the method name and generates the appropriate SQL query, making it a powerful and convenient way to create custom queries without writing SQL explicitly. The other options, while valid in certain contexts, do not describe the typical way to create custom query methods in Spring Data JPA.

In what scenario would you prefer to use @Inject over @Autowired for dependency injection?

  • When using Java EE components or environments.
  • When you want to inject dependencies by name.
  • When you need to inject dependencies conditionally.
  • When working with Spring Boot applications.
You would prefer to use @Inject over @Autowired for dependency injection when using Java EE components or environments. @Inject is a standard Java EE annotation for dependency injection, while @Autowired is more specific to Spring. In a Java EE context, it's recommended to use @Inject for better portability. The other options may not be the primary reasons for choosing @Inject over @Autowired.

What is the primary build tool used for Spring Boot projects by default when generating a project using start.spring.io?

  • Gradle
  • Ant
  • Make
  • Maven
Maven is the primary build tool used for Spring Boot projects by default when generating a project using start.spring.io. Spring Boot favors Maven as the build tool due to its wide adoption and robust capabilities for managing dependencies and building projects. Other build tools like Gradle can be used but are not the default choice.

What components are typically scanned and loaded when a test is annotated with @DataJpaTest in Spring Boot?

  • Data access components such as repositories and entity classes.
  • Logging components for debugging.
  • Security components for authentication and authorization.
  • Web components like controllers and views.
The @DataJpaTest annotation is used for testing the data access layer of a Spring Boot application. It typically scans and loads data access components such as repositories and entity classes, enabling database-related testing.

In a Spring Boot application, how would you handle a scenario where different microservices need to work with different databases and schemas?

  • Use Spring Boot's multi-datasource support.
  • Create separate Spring Boot applications for each microservice.
  • Share a single database and schema across all microservices.
  • Use a NoSQL database to avoid schema-related challenges.
In a Spring Boot application, handling different databases and schemas among microservices can be achieved using Spring Boot's multi-datasource support. This allows you to configure multiple datasources and associate them with specific microservices. Creating separate applications for each microservice would lead to unnecessary complexity. Sharing a single database and schema can cause conflicts and scalability issues. Using a NoSQL database is an option but might not always be suitable depending on the application's requirements.

Which annotation is used to define a bean that holds the business logic in a Spring Boot application?

  • @Bean
  • @BusinessLogic
  • @Component
  • @Service
In Spring Boot, the @Bean annotation is used to define a bean that holds business logic. When you use @Bean, you can configure and customize the creation of the bean, making it suitable for holding the application's business logic. The other annotations (@Component and @Service) are used for different purposes like component scanning and service layer, respectively.

In Spring Boot, _____ allows developing reactive applications by providing an alternative to the traditional, servlet-based, blocking architecture.

  • Hibernate
  • Hibernate ORM
  • Reactor
  • Spring Data JPA
In Spring Boot, "Reactor" allows developing reactive applications by providing an alternative to the traditional, servlet-based, blocking architecture. Reactor is a foundational framework for reactive programming in Java and is used extensively in Spring's reactive stack. It provides the building blocks for creating non-blocking, event-driven applications.

How does the @Repository annotation in Spring Boot mainly differ from the @Service annotation?

  • @Repository is used for database operations, while @Service is used for business logic.
  • @Service is used for database operations, while @Repository is used for business logic.
  • @Repository is used for managing transactions, while @Service is used for database operations.
  • @Service is used for managing transactions, while @Repository is used for business logic.
The @Repository annotation in Spring Boot is primarily used for database operations and is typically applied to DAO (Data Access Object) classes. It includes functionality related to data access, exception translation, and transactions. On the other hand, @Service is used for defining business logic and typically includes the service layer of an application. @Repository focuses on database-related concerns, while @Service is more about the application's business logic. The other options provide incorrect differentiations.