Sobes.tech
Junior — Middle

Can you name different access levels and property configurations in Spring?

sobes.tech AI

Answer from AI

In Spring, access levels and property configurations can be divided into several types:

  1. Bean access levels:
  • Singleton (default): one instance for the entire Spring container.
  • Prototype: a new instance for each request.
  • Request: one instance per HTTP request (for web applications).
  • Session: one instance per HTTP session.
  • Application: one instance per ServletContext.
  1. Property configuration:
  • Using application.properties or application.yml files to set parameters.
  • The @Value annotation for injecting individual values.
  • Using @ConfigurationProperties to group related settings into a POJO.

Example of using @ConfigurationProperties:

@Component
@ConfigurationProperties(prefix = "app")
public class AppProperties {
    private String name;
    private int timeout;

    // getters and setters
}

In application.properties:

app.name=MyApp
app.timeout=5000

Thus, Spring provides flexible mechanisms for managing the lifecycle of beans and configuration parameters.