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()));
|
||
|
}
|
||
|
|
||
|
}
|