Merge pull request #4297 from josephine-barboza/spring-boot-ctx-fluent
Context Hierarchy Using Spring Boot Fluent Builder API (BAEL-1689)
This commit is contained in:
		
						commit
						087f0c24fe
					
				
							
								
								
									
										27
									
								
								spring-boot-ctx-fluent/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								spring-boot-ctx-fluent/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |   <modelVersion>4.0.0</modelVersion> | ||||||
|  | 
 | ||||||
|  |   <groupId>com.baeldung</groupId> | ||||||
|  |   <artifactId>ctxexample</artifactId> | ||||||
|  |   <version>0.0.1-SNAPSHOT</version> | ||||||
|  |   <packaging>jar</packaging> | ||||||
|  | 
 | ||||||
|  |   <name>ctxexample</name> | ||||||
|  |   <url>http://maven.apache.org</url> | ||||||
|  | 
 | ||||||
|  |   <properties> | ||||||
|  |     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||||
|  |   </properties> | ||||||
|  | 	<parent> | ||||||
|  | 		<groupId>org.springframework.boot</groupId> | ||||||
|  | 		<artifactId>spring-boot-starter-parent</artifactId> | ||||||
|  | 		<version>2.0.0.RELEASE</version> | ||||||
|  | 	</parent> | ||||||
|  |   <dependencies> | ||||||
|  |   	<dependency> | ||||||
|  |   		<groupId>org.springframework.boot</groupId> | ||||||
|  | 		<artifactId>spring-boot-starter-web</artifactId> | ||||||
|  |   	</dependency> | ||||||
|  |   </dependencies> | ||||||
|  | </project> | ||||||
							
								
								
									
										22
									
								
								spring-boot-ctx-fluent/src/main/java/com/baeldung/App.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								spring-boot-ctx-fluent/src/main/java/com/baeldung/App.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | package com.baeldung; | ||||||
|  | 
 | ||||||
|  | import org.springframework.boot.WebApplicationType; | ||||||
|  | import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||||
|  | import org.springframework.boot.builder.SpringApplicationBuilder; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.rest.RestConfig; | ||||||
|  | import com.baeldung.services.ServiceConfig; | ||||||
|  | import com.baeldung.web.WebConfig; | ||||||
|  | 
 | ||||||
|  | @SpringBootApplication | ||||||
|  | public class App { | ||||||
|  |     public static void main(String[] args) { | ||||||
|  |         new SpringApplicationBuilder().parent(ServiceConfig.class) | ||||||
|  |             .web(WebApplicationType.NONE) | ||||||
|  |             .child(WebConfig.class) | ||||||
|  |             .web(WebApplicationType.SERVLET) | ||||||
|  |             .sibling(RestConfig.class) | ||||||
|  |             .web(WebApplicationType.SERVLET) | ||||||
|  |             .run(args); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,19 @@ | |||||||
|  | package com.baeldung.rest; | ||||||
|  | 
 | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | import org.springframework.web.bind.annotation.GetMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RestController; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.services.IHomeService; | ||||||
|  | 
 | ||||||
|  | @RestController | ||||||
|  | public class GreetingController { | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     IHomeService homeService; | ||||||
|  | 
 | ||||||
|  |     @GetMapping(value = "/greeting", produces = "application/json") | ||||||
|  |     public String getGreeting() { | ||||||
|  |         return homeService.getGreeting(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | package com.baeldung.rest; | ||||||
|  | 
 | ||||||
|  | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
|  | import org.springframework.context.annotation.ComponentScan; | ||||||
|  | import org.springframework.context.annotation.Configuration; | ||||||
|  | import org.springframework.context.annotation.PropertySource; | ||||||
|  | 
 | ||||||
|  | @Configuration | ||||||
|  | @ComponentScan("com.baeldung.rest") | ||||||
|  | @EnableAutoConfiguration | ||||||
|  | @PropertySource("classpath:rest-app.properties") | ||||||
|  | public class RestConfig { | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | package com.baeldung.services; | ||||||
|  | 
 | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | @Service | ||||||
|  | public class HomeService implements IHomeService { | ||||||
|  | 
 | ||||||
|  |     public String getGreeting() { | ||||||
|  |         return "Welcome User"; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | package com.baeldung.services; | ||||||
|  | 
 | ||||||
|  | public interface IHomeService { | ||||||
|  | 
 | ||||||
|  |    String getGreeting(); | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | package com.baeldung.services; | ||||||
|  | 
 | ||||||
|  | import org.springframework.context.annotation.ComponentScan; | ||||||
|  | import org.springframework.context.annotation.Configuration; | ||||||
|  | 
 | ||||||
|  | @Configuration | ||||||
|  | @ComponentScan("com.baeldung.services") | ||||||
|  | public class ServiceConfig {} | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package com.baeldung.web; | ||||||
|  | 
 | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.services.IHomeService; | ||||||
|  | 
 | ||||||
|  | @Service | ||||||
|  | public class GreetingService implements IHomeService { | ||||||
|  | 
 | ||||||
|  |     public String getGreeting() { | ||||||
|  |         return "Greetings for the day"; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | package com.baeldung.web; | ||||||
|  | 
 | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | import org.springframework.stereotype.Controller; | ||||||
|  | import org.springframework.web.bind.annotation.GetMapping; | ||||||
|  | import org.springframework.web.bind.annotation.ResponseBody; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.services.IHomeService; | ||||||
|  | 
 | ||||||
|  | @Controller | ||||||
|  | public class HomeController { | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     IHomeService homeService; | ||||||
|  | 
 | ||||||
|  |     @GetMapping("/home") | ||||||
|  |     @ResponseBody | ||||||
|  |     public String greeting() { | ||||||
|  | 
 | ||||||
|  |         return homeService.getGreeting(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | package com.baeldung.web; | ||||||
|  | 
 | ||||||
|  | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
|  | import org.springframework.context.annotation.Bean; | ||||||
|  | import org.springframework.context.annotation.ComponentScan; | ||||||
|  | import org.springframework.context.annotation.Configuration; | ||||||
|  | import org.springframework.context.annotation.PropertySource; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.services.IHomeService; | ||||||
|  | 
 | ||||||
|  | @Configuration | ||||||
|  | @ComponentScan("com.baeldung.web") | ||||||
|  | @EnableAutoConfiguration | ||||||
|  | @PropertySource("classpath:web-app.properties") | ||||||
|  | public class WebConfig { | ||||||
|  |      | ||||||
|  |     @Bean | ||||||
|  |     public IHomeService homeService() { | ||||||
|  |         return new GreetingService(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | server.port=8081 | ||||||
|  | server.servlet.context-path=/rest | ||||||
|  | #logging.level=debug | ||||||
|  | spring.application.admin.enabled=false | ||||||
|  | spring.application.admin.jmx-name=org.springframework.boot:type=AdminRest,name=SpringRestApplication | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | server.port=8080 | ||||||
|  | spring.application.admin.enabled=false | ||||||
|  | spring.application.admin.jmx-name=org.springframework.boot:type=WebAdmin,name=SpringWebApplication | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user