請按照下列步驟操作:
第一步:在添加春季依賴build.sbt文件。
libraryDependencies += "org.springframework" % "spring-context" % "4.1.6.RELEASE"
libraryDependencies += "org.springframework" % "spring-core" % "4.1.6.RELEASE"
libraryDependencies += "org.springframework" % "spring-beans" % "4.1.6.RELEASE"
libraryDependencies += "org.springframework" % "spring-aop" % "4.1.6.RELEASE"
第二步:創建一個新類(ApplicationGlobalSettings.java),並與GlobalSettings類實現。
package com.ranga.global.settings;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import play.Application;
import play.GlobalSettings;
public class ApplicationGlobalSettings extends GlobalSettings {
private static final String APPLICATION_CONTEXT_XML = "applicationContext.xml";
private ConfigurableApplicationContext applicationContext;
@Override
public void beforeStart(Application application) {
super.beforeStart(application);
}
@Override
public void onStart(Application application) {
super.onStart(application);
applicationContext = new ClassPathXmlApplicationContext(APPLICATION_CONTEXT_XML);
}
@Override
public void onStop(Application application) {
super.onStop(application);
if(applicationContext != null) {
applicationContext.close();
}
}
}
步驟3:創建下CONF文件夾的新彈簧配置文件(的applicationContext.xml) CONF \ applicationContext.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.ranga.services, com.ranga.daos"/>
</beans>
第四步:將新創建的GlobalSettings文件位置添加到a應用程序配置文件(conf/application.conf)。
.....some more configuration here.....
# Global Objects class
application.global=com.ranga.global.settings.ApplicationGlobalSettings
第五步:創建com.ranga.service包(HelloWorldService.java)下的一個新的服務類。
package com.ranga.services;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import com.ranga.daos.HelloWorldDAO;
@Service
public class HelloWorldService {
@Inject
private HelloWorldDAO helloWorldDAO;
public String sayHello() {
return helloWorldDAO.sayHello();
}
}
第六步:下com.ranga.daos創建一個新的DAO類包(HelloWorldDAO.java)。
package com.ranga.daos;
import org.springframework.stereotype.Repository;
@Repository
public class HelloWorldDAO {
public String sayHello() {
return "Hello Ranga!";
}
}
第七步:最後注入的HelloWorldService在Application.java文件。
package com.ranga.controllers;
import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Autowired;
import com.ranga.services.HelloWorldService;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
@Inject
private HelloWorldService helloWorldService;
public Result index() {
return ok(index.render(helloWorldService.sayHello()));
}
}
第八步:最後修改index.scala.html文件代碼。
@(message: String)
<h1>@message</h1>
現在完成..運行應用程序。
類似的問題也已經在這裏問:https://groups.google.com/forum/#!topic/play-framework/hFOtzSNSDsQ和https:/ /github.com/jroper/play-spring/issues/1。讓希望得到解決方案。 – Devabc
這個爲我工作:https://github.com/zarinfam/play24-guice-spring – Devabc
感謝您的鏈接,但我打算使用彈簧的總體DI框架與使用彈簧的所有接線語義和功能一樣。我可以在Play 2.3.9中做到這一點。 https://github.com/abbi-gaurav/play-spring-axon –