14. Play! Features
NO compiling, NO redeployment
Monday, May 21, 12
15. Play! Features
NO compiling, NO redeployment
MVC out of the box
Monday, May 21, 12
16. Play! Features
NO compiling, NO redeployment
MVC out of the box
Unit & Functional test infrastructure
Monday, May 21, 12
17. Play! Features
NO compiling, NO redeployment
MVC out of the box
Unit & Functional test infrastructure
Dependency management
Monday, May 21, 12
18. Play! Features
NO compiling, NO redeployment
MVC out of the box
Unit & Functional test infrastructure
Dependency management
Simple text and YAML configuration
Monday, May 21, 12
19. Play! Features
NO compiling, NO redeployment
MVC out of the box
Unit & Functional test infrastructure
Dependency management
Simple text and YAML configuration
Modules
Monday, May 21, 12
20. Play! Features
NO compiling, NO redeployment
MVC out of the box
Unit & Functional test infrastructure
Dependency management
Simple text and YAML configuration
Modules
Cloud hosting support
Monday, May 21, 12
23. What You Save Is
What You Get
Eclipse Java Compiler
Monday, May 21, 12
24. What You Save Is
What You Get
Eclipse Java Compiler
Custom ClassLoader
Monday, May 21, 12
25. What You Save Is
What You Get
Eclipse Java Compiler
Custom ClassLoader
Javassist
Monday, May 21, 12
26. What You Save Is
What You Get
Eclipse Java Compiler
Custom ClassLoader
Javassist
Netty
Monday, May 21, 12
27. Model
package
models;
import
play.db.jpa.Model;
import
javax.persistence.Entity;
@Entity
public
class
User
extends
Model
{
@Required
public
String
firstName;
}
Monday, May 21, 12
28. Model
package
models;
import
play.db.jpa.Model;
JPA 2.0 import
javax.persistence.Entity;
@Entity
public
class
User
extends
Model
{
@Required
public
String
firstName;
}
Monday, May 21, 12
29. Model
package
models;
import
play.db.jpa.Model;
JPA 2.0 import
javax.persistence.Entity;
play.db.jpa.Model @Entity
public
class
User
extends
Model
{
@Required
public
String
firstName;
}
Monday, May 21, 12
30. Model
package
models;
import
play.db.jpa.Model;
JPA 2.0 import
javax.persistence.Entity;
play.db.jpa.Model @Entity
public
class
User
extends
Public fields Model
{
@Required
public
String
firstName;
}
Monday, May 21, 12
31. Model
Simplified Queries
User.find("byEmailAndPassword",
"vpupkin@gmail.com",
"s3cr#t");
JPQL Queries
User.find("SELECT
u
FROM
User
u
WHERE
u.email
LIKE
?1",
"vpupkin%");
Monday, May 21, 12
32. Controller
package
controllers;
import
play.*;
import
play.mvc.*;
import
java.util.*;
import
models.*;
public
class
Application
extends
Controller
{
public
static
void
index()
{
render();
}
}
Monday, May 21, 12
33. Controller
package
controllers;
import
play.*;
import
play.mvc.*;
import
java.util.*;
public static import
models.*;
methods
public
class
Application
extends
Controller
{
public
static
void
index()
{
render();
}
}
Monday, May 21, 12
34. Controller
package
controllers;
import
play.*;
import
play.mvc.*;
import
java.util.*;
public static import
models.*;
methods
public
class
Application
extends
Controller
{
play.mvc.Controller
public
static
void
index()
{
render();
}
}
Monday, May 21, 12
35. Controller
package
controllers;
import
play.*;
import
play.mvc.*;
import
java.util.*;
public static import
models.*;
methods
public
class
Application
extends
Controller
{
play.mvc.Controller
public
static
void
index()
render method {
render();
}
}
Monday, May 21, 12