gpt4 book ai didi

java - 使用 Java 配置的 N 层 Web 应用程序中的 Spring 上下文

转载 作者:行者123 更新时间:2023-12-01 11:14:45 25 4
gpt4 key购买 nike

我们正在构建一个使用以下 Java 堆栈的 Web 项目。它使用带有数据/业务/服务/网络/客户端层的 n 层。

Data layer - Java, JPA, Spring-data-JPA
Business layer - Java
Service layer - Java, Apache CXF (REST/SOAP) Webservices

Client layer - AngularJS, Bootstrap

我试图弄清楚如何在这些n层之间传递spring上下文。我也尝试使用 Java 配置而不是 XML,所以很困惑。

在我早期的项目中,我们使用 XML 配置在 Web 层中创建 spring 上下文。

我尝试遵循本教程 http://source.lishman.com/project/689#card/5509/file/19177

我能够拥有一个独立的工作数据层。但不知道如何在业务层注入(inject)存储库??

下面的试验有效,但只有在业务层复制以下配置之后,我已经在数据层中定义/配置了

@Import(value = { DataSourceConfig.class, JpaConfig.class, RepositoryConfig.class })

业务层

配置

@Configuration
@Import(value = { DataSourceConfig.class, JpaConfig.class, RepositoryConfig.class })
public class ServiceConfig {

@Autowired
AirlineBusiness airlineBusiness;

@Bean
public AirlineBusiness getAirlineBusiness() {
return new AirlineBusinessImpl();
}
}

业务界面

@Service
public interface AirlineBusiness extends Serializable {

public List<Airline> findAll();
}

业务实现

    @Service
public class AirlineBusinessImpl implements AirlineBusiness {

@Autowired
private AirlineRepository airlineRepository;

@Override
public List<Airline> findAll() {
return airlineRepository.findAll();
}

}

最佳答案

只需为每个层创建一个单独的配置类即可。在每个配置类中,从下面的层导入配置类(它是传递性的):

@Configuration
@Import(value = { DataSourceConfig.class, JpaConfig.class, RepositoryConfig.class })
public class DataConfig {

}

@Configuration
@Import(value = { DataConfig.class })
public class ServiceConfig {
}

关于java - 使用 Java 配置的 N 层 Web 应用程序中的 Spring 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com