Enjoying this Java & Spring tutorial?
Subscribe to Ram N Java on YouTubeIntroduction
When developing Spring applications, you frequently encounter requirements where a bean needs a collection or array of basic values such as strings. Spring makes it simple to inject arrays directly through the constructor.
In this guide, you will learn how to configure and inject a String Array (String[]) using constructor dependency injection in your Spring XML configuration.
1. Create the Java Bean Class
Create a class named FruitShop that has an array of strings (e.g., fruitsName) and a constructor to receive it:
import java.util.Arrays;
public class FruitShop {
private String shopName;
private String[] fruitsName;
public FruitShop(String shopName, String[] fruitsName) {
this.shopName = shopName;
this.fruitsName = fruitsName;
}
public void displayFruitShopInfo() {
System.out.println("Shop Name: " + shopName);
System.out.println("Fruits: " + Arrays.toString(fruitsName));
}
}
2. Configure Spring XML with <array>
In your Spring configuration file (applicationContext.xml), define the bean and pass the array elements using the <array> and <value> tags:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="fruitShop" class="FruitShop">
<constructor-arg value="Daily Fresh Fruit Mart" />
<constructor-arg>
<array value-type="java.lang.String">
<value>Apple</value>
<value>Orange</value>
<value>Banana</value>
<value>Mango</value>
</array>
</constructor-arg>
</bean>
</beans>
3. Load ApplicationContext and Execute
Finally, initialize the Spring container, fetch the configured bean, and invoke the method to verify the array injection:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
FruitShop shop = (FruitShop) context.getBean("fruitShop");
shop.displayFruitShopInfo();
}
}
Watch More Spring Tutorials
Click here to watch on Youtube:
https://www.youtube.com/watch?v=BCKn42YRxJg&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
| How to Inject Array of String using Spring dependency injection by constructor? | Spring Tutorial |
| How to Inject Array of String using Spring dependency injection by constructor? | Spring Tutorial |
| How to Inject Array of String using Spring dependency injection by constructor? | Spring Tutorial |
No comments:
Post a Comment