@Inject 标记在setter方法上的作用

简介: @Inject 标记在setter方法上的作用

@Inject注解是JavaEE 6标准的依赖注入(Dependency Injection)注解,和@Autowired注解类似。当@Inject注解标记在setter方法上时,它表示使用依赖注入方式将指定的Bean对象注入到setter方法中对应的属性中。

例如,我们定义了一个UserService接口和其实现类,代码如下:

public interface UserService {
void setUserDao(UserDao userDao)
}

@Service
public class UserServiceImpl implements UserService {
private UserDao userDao;

@Override
public void setUserDao(UserDao userDao){
    this.userDao = userDao;
}

}
在上面的代码中,UserServiceImpl类实现了UserService接口,它的setter方法setUserDao()使用了@Inject注解,它表示将UserDao对象注入到UserServiceImpl类中的userDao属性中。

当Spring容器启动时,它会自动扫描UserServiceImpl类,并初始化其实例。此时,Spring容器会查找容器中所有实现UserDao接口的Bean对象,并自动注入到UserServiceImpl对象的userDao属性中。这样,在其他组件中调用UserService接口的方法时,就可以通过userDao属性来访问和操作数据库,实现业务逻辑的处理。

相关文章
|
Java 微服务 Spring
@EnableDiscoveryClient注解的作用
@EnableDiscoveryClient注解的作用 @EnableDiscoveryClient 及@EnableEurekaClient 类似,都是将一个微服务注册到Eureka Server(或其他 服务发现组件,例如Zookeeper、Consul等)
1565 0
|
30天前
|
存储 Java 数据库连接
@OneToOne注解的作用
@OneToOne注解的作用
|
4月前
|
Java Spring
@GrpcServise 注解的作用和使用
@GrpcServise 注解的作用和使用
50 0
|
6月前
|
Java Spring 容器
面试题:在spring框架下面,Bean的属性lazy-init有什么作用,默认值是多少
面试题:在spring框架下面,Bean的属性lazy-init有什么作用,默认值是多少
41 0
|
6月前
|
XML Java 数据格式
怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象--ref和怎么去引用/注入内部 bean 对象-内部 bean 对象
怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象--ref和怎么去引用/注入内部 bean 对象-内部 bean 对象
73 0
|
C++
c++中ref的作用
c++中ref的作用
148 0
|
Java Spring 容器
@Inject 标记在构造方法上的作用
@Inject 标记在构造方法上的作用
Zp
|
XML Java 数据格式
@Component注解的作用
@Component注解的作用
Zp
283 0
@Component注解的作用
|
开发者
|
Java 关系型数据库 MySQL
如何使用@Value注解为bean的属性赋值呢
如何使用@Value注解为bean的属性赋值呢