I했습니다 다음 모델 :자바 주입하는 방법 2.5.10 플레이 플레이 jongo
public class Users {
public static PlayJongo jongo = Play.current().injector().instanceOf(PlayJongo.class);
public static MongoCollection users() {
return jongo.getCollection("DB.users");
}
..
..
public static Users authenticate(String email, String password) {
Users user = users().findOne("{email: #, removed: false}", email).as(Users.class);
if (user != null) {
if (HomeController.checkPassword(password, user.password)) {
return user;
}
}
return null;
}
..
내 컨트롤러처럼 것을 사용
public Result authenticate() {
DynamicForm requestData = Form.form().bindFromRequest();
String email = requestData.get("email").trim();
String password = requestData.get("password").trim();
Users user = Users.authenticate(email, password);
if (user == null) {
flash("danger", "Incorrect email or password.");
return redirect(routes.HomeController.login());
}
session("email", user.getEmail());
session("role", user.getRole());
session("fullname", user.getLastname() + " " + user.getFirstname());
session("id", user.getId().toString());
return redirect(routes.HomeController.index());
}
I가 조합을 많이 시도 결과없이 play-jongo로 주사를 사용하십시오. 예 :
@Inject
public PlayJongo jongo;
public MongoCollection users() {
return jongo.getCollection("DocBox.users");
}
정적/비 정적 참조 된 컨텍스트 오류의 루프에 입력합니다. 모든 정적 선언을 제거하면 Users.method으로 전화 할 수 없습니다. 내가 컨트롤러
public class HomeController extends Controller {
@Inject
public Users users;
.
.
에 사용자를 삽입하고 사용자 메소드를 호출하려고 시도 할 경우 :
Users user = users.authenticate(email, password);
을 나는 org.jongo.marshall.MarshallingException을받을 수 있습니다. 뇌가 확실히 과열되어 누군가가 저에게 주사를 사용하는 법을 설명 할 수 있습니까?