使用注解开发时需要添加包扫描器【出现问题的可以点进来看看】

2023-05-16

很多第一次接触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.*"/>

最后还需要提醒一下,因为本例中Component并没有定义名字,将会默认将类名首字母小写(men)当成是该对象的名字,更多知识大家可以关注小葡萄~欢迎点赞关注哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用注解开发时需要添加包扫描器【出现问题的可以点进来看看】 的相关文章

随机推荐