SpringMVC的@Resource注解怎么使用啊?

网上找的用法不是很懂,谁可以给个@Resource注解的使用完整代码?
是要在这个ApplicationContext.xml 文件配置的吗?这个文件我的项目里没有,要新建吗?新建放在哪个目录呢?

阅读 6.7k
3 个回答

@Resource要求提供一个Bean名称的属性(name),如果属性为空,则自动采用标注处的变量名或方法名作为Bean的名称。

容器在装配时,@Resource方式将按照变量名去查找对应的bean声明,而@Autoware默认按类型匹配注入Bean。

@Resource与@Autoware对比:Spring中@Resource与@Autoware

@Resource 并不是SpringMVC的注释,它是Spring的,在注解式的Spring使用中,使用这个注释放在字段上,并指明要注入的Bean的名称,Spring就会帮你注入对应的bean进来:

比如,我这里有一个接口,我注明它的名字是userMapper:

@Component("userMapper")
public interface UserMapper {

    UserVO getUserVOByLogIn(
            @Param("userName")String userName,
            @Param("passWord")String passWord
    );

    void saveUserVO(UserVO userVO);
}

然后,我就可以这么使用:

@Repository("userDAO")
public class UserDAO {
    @Resource(name = "userMapper")
    private UserMapper userMapper;

    public UserVO getNormalUserVOByLogIn(String userName, String passWord){
        return userMapper.getUserVOByLogIn(userName, passWord);
    }

    public UserVO saveNormalUserVO(UserVO userVO){
        userMapper.saveUserVO(userVO);
        return userVO;
    }
}

Spring会帮我注入一个对象进来,而不需要我自己新建了,这就叫做IOC,控制反转。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题