很多第一次接触Spring注解开发的同学,在使用注解后容易报错,那就很可能是没有在配置文件中加入包扫描器。
那么可以往下看,以下面这个简单的例子来学习,下面是一个简单的实体类,通过Component注解来完成对象的创建:
package com.sr.bean;
import org.springframework.stereotype.Component;
@Component
public class Men {
private int id;
private String name;
private String hoppy;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHoppy() {
return hoppy;
}
public void setHoppy(String hoppy) {
this.hoppy = hoppy;
}
@Override
public String toString() {
return "Men{" +
"id=" + id +
", name='" + name + '\'' +
", hoppy='" + hoppy + '\'' +
'}';
}
}
很多刚学的朋友就会忽略包扫描器,而进行直接的使用类,测试类的代码我也贴上来:
public class TestMen {
@Test
public void test01(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Men men = context.getBean("men", Men.class);
System.out.println(men);
}
}
当然,这里肯定是会报错的,原因是Spring无法识别到注解,所以需要在配置文件中加入包扫描器,这里需要注意,base-package中填写的代码是你们项目所在的包下面所有的包,为了更好地理解,项目结构我也截图在下面,不要直接复制进applicationContext.xml中:
<!--扫描注解类:告诉Spring哪些类上面有注解,需要Spring处理-->
<context:component-scan base-package="com.sr.*"/>
![](https://img-blog.csdnimg.cn/7948538a0d744e12828c39f8428196a4.png)
最后还需要提醒一下,因为本例中Component并没有定义名字,将会默认将类名首字母小写(men)当成是该对象的名字,更多知识大家可以关注小葡萄~欢迎点赞关注哦
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)