Autowiring interface with multiple implementation

Autowiring interface with multiple implementation In this post, I will explain with example how to inject a bean whose type is an interface (Java Interface or Abstract class) and it has multiple classes that implements it. In the previous post, I showed how Spring Framework inject a bean whose type is an interface and has…… Continue reading Autowiring interface with multiple implementation

Autowiring interface with single implementation

In all my previous posts under Spring Core, I showed how to inject a bean belonging to a particular class. But in reality, to maintain a loose coupling we program to an interface and not to a class. (Interface doesn’t represent Java Interface. Here Interface is generic term that represents either Java Interfaceor Java Abstract…… Continue reading Autowiring interface with single implementation

Autowiring By Name (@Qualifier annotation)

In this post under Spring Core, I will explain with example how to autowire beans based on names instead of bean type. Till now in all our previous posts, beans to be injected were figured out by the class type. Sometimes there exist a situation where when Spring framework tries autowire a bean of a…… Continue reading Autowiring By Name (@Qualifier annotation)

Spring @Primary annotation

In this post under Spring Core, I will explain with example the purpose of “@Primary” annotation. When doing autowiring by type, there may be scenarios where two bean definitions can be considered for injection. For example if we have below DAO class package package26; public class Dao { private String daoName; public Dao(String daoName) {…… Continue reading Spring @Primary annotation

Autowiring Optional beans

In this post under Spring Core, I will show with example how to use Java’s Optional class to declare a bean (to be injected) as optional. In one of my previous post under Spring Core, I showed you about “required” attribute in “@Autowired” annotation. For recap, “@Autowired” annotation has only one attribute named “required” whose…… Continue reading Autowiring Optional beans

Autowiring a collection and array of beans

In this post under Spring Core, I will explain with example how to autowire a collection and array of beans. For our example I will use the below “Dao” class Dao class package package22; public class Dao { private String daoName; public Dao(String daoName) { this.daoName = daoName; } @Override public String toString() { return…… Continue reading Autowiring a collection and array of beans

“required” attribute of @Autowired annotation

In this post under Spring Core, I will explain with example the purpose of “required” attribute of “@Autowired” annotation. When we tell Spring framework to wire two beans say “Bean2” to “Bean1” as shown below package package20;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Componentpublic class Bean1 { @Autowired private Bean2 bean2; public Bean2 getBean2() { return bean2; } public void…… Continue reading “required” attribute of @Autowired annotation

Example of @Autowired (setter injection approach 2)

In this post under Spring Core, I will show another approach of achieving setter injection using “@Autowired” annotation. In my previous posts, I showed with example how to achieve setter injection by applying “@Autowired” annotation at field level. In this post I will show how to achieve setter injection by applying “@Autowired” annotation directly on…… Continue reading Example of @Autowired (setter injection approach 2)