1.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"
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的命名
标签名称:组件扫描描述:扫描类路径以查找自动注册为springbean的带注释组件。
默认情况下,将检测到Spring提供的;
@Component、@Repository、
@Service、@Controller、
@RestController、@ControllerAdvice和@Configuration原型。
base-package格式(可以写一个总包的路径,也可以使用逗号隔开使用多个路径)
-->
<context:component-scan base-package="test10month.test1012"/>
<!--附加:方式一:
功能描述:只扫描xxx(这里是component)注解,不使用默认的都扫描
include:包括 filter:过滤
-->
<context:component-scan base-package="test10month.test1012" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
</context:component-scan>
<!--方式二:
功能描述:除了xxx(这里是Service)不扫描以外,其他的都扫描
exclude:排除 filter:过滤
-->
<context:component-scan base-package="test10month.test1012">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
</beans>
2.类
@Component
@Service
@Repository
@Controller(value = "annotationSpring")
class AnnotationSpring {
public void test() {
System.out.println("注解测试");
}
}
3.测试类
package test10month.test1012;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
public class AnnotationSpringTest {
public static void main(String[] args) {
var context = new ClassPathXmlApplicationContext("test10month/test1012/AnnotationSpring.xml");
var annotationSpring = context.getBean("annotationSpring", AnnotationSpring.class);
annotationSpring.test();
}
}