Welcome to Spring Mastery Hub.
-
Method security with @Secured Annotation in Spring
This annotation provides a way to add security configuration to business methods. It will use roles to check if a user has permission to call this method. The annotation is part of spring security. So to enable its usage you need the spring security dependency. Example Scenario You have an application that has a product…
-
Using the @Lookup Annotation in Spring
The @Lookup annotation is an injection (like @Inject, @Resource, @Autowired) annotation used at the method level. This annotation tells Spring to overwrite the method, redirecting to the bean factory to return a bean matching the return type of the method. This can be useful for some bean scopes, such as the prototype scope, which will…
-
@PreDestroy and @PostConstruct in Spring: Managing Bean Lifecycle
These annotations are called at specific moments in the bean lifecycle. They allow you to define methods executed after a bean is created and before the beans are destroyed. Both annotations come from Jakarta EE and can be used in Spring projects. They are useful for managing resources that are only used in the bean’s…
-
@Resource: The Versatile Bean Injection Annotation for Jakarta EE and Spring
This annotation does bean injection, like the @Autowired and @Inject annotations. This annotation is packaged with Jakarta EE and will work on your Spring projects. You can use this annotation almost in the same way you use the other annotations used to inject dependencies. Using in-field injection and set methods is possible, but constructors are…
-
Understanding the @DependsOn Annotation in Spring
Introduction to the @DependsOn Annotation This annotation tells Spring that the bean marked with this annotation should be created after the beans that it depends on are initialized. You can specify the beans you need to be created first in the @DependsOn annotation parameters. This annotation is used when a bean does not explicitly depend…
-
Understanding @Primary in Spring
If you read my post about the @Qualifier annotation, you have noticed that defining two beans of the same type can be a challenge. By distinguishing it with a qualifier name, @Qualifier helps Spring determine which bean to inject. The @Primary annotation will help Spring decide which of those same types of beans it should…
-
Using @Qualifier to Resolve Bean Conflicts in Spring
When working on a Spring project, you might encounter a situation where you have multiple bean implementations for the same type. This can cause an error because Spring doesn’t know which bean to inject. To solve this, we use the @Qualifier annotation. The Problem Let’s say you have an interface MessageService that your application uses…
-
How @AliasFor Simplifies Annotations usage in Spring
This annotation is an annotation that allows you to create an alias for an attribute in an annotation. These attributes have the same function. The idea is to avoid confusion when multiple attributes can be used for the same purpose Maybe this is the first time you have seen it. Spring uses this annotation in…
-
3 Ways to Use the @Lazy Annotation in Spring
Does your Spring application take too long to start? Maybe this annotation could help you. This annotation indicates to Spring that a bean needs to be lazily initiated. Spring will not create this bean at the start of the application. Instead, it will create it only when the bean is requested for the first time.…
-
Understanding @Autowired in Spring: A Comprehensive Guide
Introduction The @Autowired annotation is one of the most common annotations when working with Spring. Its objective is simple: to tell Spring to inject a dependency bean into our beans. In other words, it will pick an instance of a bean from the Spring IoC (Inversion of Control) container and set it into our components.…