36 lines
		
	
	
		
			957 B
		
	
	
	
		
			Java
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			957 B
		
	
	
	
		
			Java
		
	
	
	
	
	
|  | package controllers;
 | ||
|  | 
 | ||
|  | import javax.inject.*;
 | ||
|  | import play.*;
 | ||
|  | import play.mvc.*;
 | ||
|  | 
 | ||
|  | import services.Counter;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * This controller demonstrates how to use dependency injection to
 | ||
|  |  * bind a component into a controller class. The class contains an
 | ||
|  |  * action that shows an incrementing count to users. The {@link Counter}
 | ||
|  |  * object is injected by the Guice dependency injection system.
 | ||
|  |  */
 | ||
|  | @Singleton
 | ||
|  | public class CountController extends Controller {
 | ||
|  | 
 | ||
|  |     private final Counter counter;
 | ||
|  | 
 | ||
|  |     @Inject
 | ||
|  |     public CountController(Counter counter) {
 | ||
|  |        this.counter = counter;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * An action that responds with the {@link Counter}'s current
 | ||
|  |      * count. The result is plain text. This action is mapped to
 | ||
|  |      * <code>GET</code> requests with a path of <code>/count</code>
 | ||
|  |      * requests by an entry in the <code>routes</code> config file.
 | ||
|  |      */
 | ||
|  |     public Result count() {
 | ||
|  |         return ok(Integer.toString(counter.nextCount()));
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | }
 |