一、准备工作
1、需要导入spring-context依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.22.RELEASE</version>
</dependency>
2、创建Controller、Service、Dao
@Controller
public class PersonController {
}
@Service
public class PersonService {
}
@Repository
public class PersonDao {
}
二、xml实现
1、创建spring.xml,用来扫描Controller、Service、Dao
<?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">
<!-- 组件扫描,将指定路径下的@Controller、@Service、@Repository、@Component -->
<context:component-scan base-package="包路径">
</context:component-scan>
</beans>
2、main方法进行测试
public static void main(String[] args) {
testXml();
}
public static void testXml(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
String[] names = context.getBeanDefinitionNames();
for (String name: names) {
System.out.println(name);
}
}
三、注解实现
1、创建SpringConfig配置类,用来扫描Controller、Service、Dao
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("包路径")
public class BeansConfig {
}
2、main方法进行测试
public static void main(String[] args) {
testAnnotation();
}
public static void testAnnotation(){
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
String[] names = context.getBeanDefinitionNames();
for (String name: names) {
System.out.println(name);
}
}
四、总计分析
本章主要学习了,spring组件扫描xml和注解的两种方式。《参考资料》