Java component-scan 扫描包中的类实现自动装配
原创
©著作权归作者所有:来自51CTO博客作者wx61cd54ea3a202的原创作品,请联系作者获取转载授权,否则将追究法律责任
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"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.componentScan.pojo"/>
</beans>
Order 类
package com.componentScan.pojo;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Data
@Component
public class Order {
@Value("202102155645")
private String order;
}
User 类
package com.componentScan.pojo;
import lombok.Data;
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;
@Data
@Component
public class User {
@Value("chenxb")
private String name;
@Autowired
private Order order;
}
测试类
package com.componentScan;
import com.componentScan.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestComponentScan {
@Test
public void test(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("componentScan.xml");
User user = applicationContext.getBean(User.class);
System.out.println(user);
}
}