// 假设有一个服务接口
public interface MyService {
void execute();
}
// 服务接口的一个实现类
public class MyServiceImpl implements MyService {
private MyRepository myRepository;
// 通过构造器设置依赖
public MyServiceImpl(MyRepository myRepository) {
this.myRepository = myRepository;
}
@Override
public void execute() {
myRepository.doSomething();
// 实现其他业务逻辑
}
}
// 仓库接口
public interface MyRepository {
void doSomething();
}
// 仓库接口的实现类
public class MyRepositoryImpl implements MyRepository {
@Override
public void doSomething() {
// 实现仓库操作
}
}
// 配置类,用于Spring DI配置
@Configuration
public class AppConfig {
// 使用@Bean注解定义bean,这里展示了使用Java配置的方式
@Bean
public MyService myService() {
return new MyServiceImpl(myRepository());
}
// 使用@Bean注解定义bean,这里展示了使用Java配置的方式
@Bean
public MyRepository myRepository() {
return new MyRepositoryImpl();
}
}
这个简单的例子展示了如何在Spring框架中使用Java配置类来进行依赖注入。MyServiceImpl
类中通过setter方法注入了MyRepository
的依赖。AppConfig
类中定义了两个bean,分别是myService
和myRepository
,并通过@Bean
注解将它们导入到Spring容器中。这样,当MyServiceImpl
需要MyRepository
实例时,Spring会自动注入对应的bean。