XML Based Setter Injection in Spring 6

realNameHidden - Jul 5 '23 - - Dev Community

For Detailed overview watch video

create project

Image description

Image description

Image description

Image description

Directory structure

Image description

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>Spring6Setter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.0.9</version>
        </dependency>

    </dependencies>
</project>
Enter fullscreen mode Exit fullscreen mode

Student

package com.test;

public class Student {

    private Integer id;

    private String name;

    //constructor
    public Student() {
        super();
    }

    //getter and setter methods

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //generate toString

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + "]";
    }




}

Enter fullscreen mode Exit fullscreen mode

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<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="st" class="com.test.Student">
        <property name="id" value="2"/>
        <property name="name" value="jhon"/>
    </bean>

</beans>
Enter fullscreen mode Exit fullscreen mode

Test

package com.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {

        ApplicationContext ctx = new ClassPathXmlApplicationContext("config.xml");


        //get the bean

        Student st = ctx.getBean("st",Student.class);

        //print the st 
        //it will internally call toString
        System.out.println(st);

        //lets run the app
        //press ctrl + f11
    }
}

Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .