「Java笔记」 详解 Spring 注解 @Autowired

autowired

之前总是学着用,但不明白其具体意义,抽空专门学习了下。

看个非常常见的应用实例

我们用IDEA简单构建一个项目demo,目录结构如下

目录结构

一般在controller里,我们需要调用service,这时候就需要用到注解 @Autowired

@Autowired
private IUserService userService;

@Autowired 这个annotation,它是为了告诉spring,这个对象没有实例化,需要注入一个IUserService的实例,可是问题是,IUserSerivce是一个接口,如果不指定就不知道你想用哪个实现类,Spring会首先看自己的容器里有没有一个叫做userService的对象,如果找不到就在 配置文件 里配置的路径下面寻找IUserService的实现类,找到了就把它的对象拿过来。

@Autowired 顾名思义,就是自动装配,其作用还可以是为了消除代码Java代码里面的getter/setter与bean属性中的property。当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留。

参与评论