java和scala代码 scala和java混编( 四 )


item add(new Label( price ))
}
}
add(productListView)
}
请注意 在创建ProductService对象加载的文件之后使用 此外 请注意该字段被分配到一个下划线(_) Scala编译为不可初始化的 而是留在默认状态 在你将覆盖作为编译之前 执行Spring bean的页面构造 现在 创建在src/main/resources//foo/myapp的的l文件
!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN
table border=
tr wicket:id= productListView
td wicket:id= name /td
td wicket:id= price /td
/tr
/table
/
创建ProductService
右键单击在in the src/main/scala文件夹中的 foo myapp包并选择New | Scala的类 然后选择创建ProductService
package foo myapp
import java util List
trait ProductService {
def getAll: List[Product]
}
这是接口 对创造一个DefaultProductService的Scala在同一个包内进行执行操作
package foo myapp
import javax persistence {PersistenceContext EntityManager}
import springframework stereotype {Service}
import springframework transaction annotation Transactional
import springframework beans factory annotation Autowired
@Service
@Transactional
class DefaultProductService extends ProductService {
@Autowired
var products: Products = _
def getAll = products getAll
}
请注意 把它使用类型文件命名为DAO
创建文件的DAO
要创建的DAO 创建一个名为在同一文件夹
package foo myapp
import java util List
trait Products {
def getAll: List[Product]
}
然后创建在同一文件夹中的执行Scala的DefaultProducts文件
package foo myapp
import javax persistence {PersistenceContext EntityManager}
import springframework stereotype Repository
import java util List
@Repository
class DefaultProducts extends Products {
@PersistenceContext
var em: EntityManager = _
def getAll = {
em createQuery( select p from Product p ) getResultList asInstanceOf[List[Product]]
}
}
创建entity程序
创建entity程序并将其映射到数据库
package foo myapp
import javax persistence {GeneratedValue Id Entity}
@Entity
class Product {
@Id
@GeneratedValue
var id: Long = _
var name: String = _
var price: Double = _
}
创建Wicket的应用程序
最后 创建在同一个MyApp的Scala程序
package foo myapp
import apache wicket protocol WebApplication
dev wicketpagetest MockableSpringBeanInjector
class MyApp extends WebApplication {
def getHomePage = classOf[MyPage]
override def init = {
MockableSpringBeanInjector installInjector(this)
}
}
在这里 您指定为首页我的目录 植入Spring Bean中
运行应用程序
随着IntelliJ IDEA的版本不断改进 您将嵌入到应用服务器运行您的应用程序 这非常容易 在刚刚创建的测试 foo myapp的ManualTest在刚刚创建的测试 foo myapp包一类ManualTest/scala文件(不是main/scala文件) 以下内容是
package foo myapp
dev wicketpagetest {WebAppJettyConfiguration WicketAppJettyLauncher}
object ManualTest {
def main(args: Array[String]) {
val l = new WicketAppJettyLauncher
l startAppInJetty(new WebAppJettyConfiguration)
}
}
要运行的应用程序 首先需要运行数据库服务器上的H 程序 所以 在下载和解压 然后变成h /bin和运行h bat(或在Linux上h sh) ManualTest是在IDEA的编辑器上 在IDEA选择运行DEA 它将运行ManualTest Jetty的运行您的应用程序
为了测试它 请尝试通过在浏览//localhost: /app
不知道各位感觉如何 感谢各位支持!谢谢!
lishixinzhi/Article/program/Java/hx/201311/26175

推荐阅读