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

标签 java spring annotations spring-data

我们正在构建一个使用以下 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/

相关文章:

java - 以小时为单位的两个 Date 实例的差异引发 "The end instant must be greater the start"异常

python - 是否可以通过 doctest 测试使用 get_type_hints 的函数?

java - 如何创建注解的实例

c++ - 这在 c int a :16;? 中意味着什么

java - 如何在启动时访问 Lagom 服务中的配置?

java - 收到 fcm 通知时更新回收器 View

Java - 调用ArrayList中对象的方法

xml - 错误 : No persistence units parsed from {classpath*:META-INF/persistence. xml}

spring - 重定向后 HttpServletRequest 对象更改和 Session 丢失

java - 从 Spring 上下文到 Spring 注解