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:
- 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.
- Property configuration:
- Using
application.propertiesorapplication.ymlfiles to set parameters. - The
@Valueannotation for injecting individual values. - Using
@ConfigurationPropertiesto 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.