ATEST-81:
- rename and move some components - setup component scanning to work properly - create a HazelcastClient to connect to hazelcast cluster, configure it properly
This commit is contained in:
52
src/main/java/ch/psi/daq/rest/RestApplication.java
Normal file
52
src/main/java/ch/psi/daq/rest/RestApplication.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package ch.psi.daq.rest;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.context.web.SpringBootServletInitializer;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
/**
|
||||
* Entry point to our rest-frontend of the Swissfel application which most importantly wires all the @RestController
|
||||
* annotated classes.
|
||||
* <p>
|
||||
*
|
||||
* This acts as a @Configuration class for Spring. As such it has @ComponentScan annotation that
|
||||
* enables scanning for another Spring components in current package and its subpackages.
|
||||
* <p>
|
||||
* Another annotation is @EnableAutoConfiguration which tells Spring Boot to run autoconfiguration.
|
||||
* <p>
|
||||
* It also extends SpringBootServletInitializer which will configure Spring servlet for us, and
|
||||
* overrides the configure() method to point to itself, so Spring can find the main configuration.
|
||||
* <p>
|
||||
* Finally, the main() method consists of single static call to SpringApplication.run().
|
||||
* <p>
|
||||
* Methods annotated with @Bean are Java beans that are container-managed, i.e. managed by Spring.
|
||||
* Whenever there are @Autowire, @Inject or similar annotations found in the code (which is being
|
||||
* scanned through the @ComponentScan annotation), the container then knows how to create those
|
||||
* beans and inject them accordingly.
|
||||
*/
|
||||
@SpringBootApplication
|
||||
// @Import(CassandraConfig.class) // either define the context to be imported, or see ComponentScan
|
||||
// comment below
|
||||
@ComponentScan(basePackages = {
|
||||
"ch.psi.daq.cassandra.config", // define the package name with the CassandraConfig
|
||||
// configuration, or @Import it (see above)
|
||||
"ch.psi.daq.cassandra.reader",
|
||||
"ch.psi.daq.cassandra.writer",
|
||||
"ch.psi.daq.hazelcast",
|
||||
"ch.psi.daq.rest",
|
||||
})
|
||||
public class RestApplication extends SpringBootServletInitializer {
|
||||
|
||||
|
||||
public static void main(final String[] args) {
|
||||
SpringApplication.run(RestApplication.class, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final SpringApplicationBuilder configure(final SpringApplicationBuilder application) {
|
||||
return application.sources(RestApplication.class);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user