Spring Boot is a framework to create stand-alone, production-grade Spring based applications very easily, thanks to its convention over configuration mechanism that allows Spring Boot to pre-configure applications in an opinionated way whenever possible.
All of this auto-configuration is driven by the concept of starters and conditional annotations that Spring Boot provides.
A starter is basically a dependency descriptor that you can use in your application in order to add all the related dependencies involved in a technology with a minimal specification. Additionally, a starter typically contains auto-configuration classes. Auto-configuration instantiates a default set of Spring beans that implement the functionality of the starter module depending on corresponding configuration properties found on the classpath. All beans can be overridden in case the default is not sufficient.
IPF provides Spring Boot starter modules for bootstrapping basic IPF infrastructure such as mapping as well as for HL7- or IHE-related components. The IPF starter modules also depend on Camel Spring Boot, which sets up a configurable Camel infrastructure for your project.
Dependencies on the IPF starter modules are established through regular Maven dependencies, e.g. for the IHE XDS starter:
<dependency> <groupId>org.openehealth.ipf.boot</groupId> <artifactId>ipf-xds-spring-boot-starter</artifactId> </dependency>
ipf-spring-boot-starter, the available starter modules are:
|ipf-atna-spring-boot-starter||set up ATNA infrastructure|
|ipf-hl7-spring-boot-starter||for HL7v2/MLLP-based IHE transactions|
|ipf-hl7v3-spring-boot-starter||for HL7v3/SOAP-based IHE transactions|
|ipf-xds-spring-boot-starter||for XDS/SOAP-based IHE transactions|
|ipf-fhir-spring-boot-starter||for FHIR/REST-based IHE transactions|
|ipf-hpd-spring-boot-starter||for DSML/SOAP-based IHE transactions|
These IPF starter modules transitively depend on
ipf-spring-boot-starter, so there is no need to explicitly
depend on this module.
IPF 3.7 removed this dependency for
org.openehealth.ipf.commons.spring.map.SpringBidiMappingService and provides
Spring beans for picking up any
See here for details on Custom Mappings.
The starter further sets up a bean of type
In addition, if the properties
ipf.commons.reuse-ssl-config are set to
true, a bean of type
org.apache.camel.support.jsse.SSLContextParameters with name
bootSslContextParameters is provided, so you can reuse the Spring Boot security configuration for FHIR, MLLP and Web Service IHE transaction endpoints supported by IPF.
ipf-spring-boot-starter provides the following application properties:
||false||Whether to set up a