Level 4: Bean annotation injection

Problem solution code:

1.StudentImpl

package step4;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("studentImpl")
public class StudentImpl implements Student {
    
    
    
	@Value("小明")
	private String name;

    @Value("20")
	private int age;
    
	@Override
	public String toString() {
    
    
		return "Student [name=" + name + ", age=" + age + "]";
	}
	
}

2.Teacher.java

package step4;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("teacher")
public class Teacher {
    
    
    
	@Value("张老师")
	private String name;
    
	@Autowired
	private Student student;

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

3.applicationContext4.java

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

		<!-- 配置包扫描器开始 -->
		<context:component-scan base-package="step4"></context:component-scan>	
			
		<!-- 配置包扫描器结束 -->

</beans>

4.Test.java

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

public class Test {
    
    
	public static void main(String[] args) {
    
    
        
        //使用ApplicationContext容器获取对象
		ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext4.xml");
		Teacher t = app.getBean("teacher",Teacher.class);
        
        //打印对象
		System.out.println(t.toString());
	}
}

Guess you like

Origin blog.csdn.net/Zheng_lan/article/details/105713744