2016-03-01 85 views
3

我可以在同一个项目中使用Scala和Java吗?我是编程新手,所以对我来说有点混乱。Scala和Java在同一个项目中

从我的研究中我已经读到,获得一个好项目的最佳组合是Java/Spring或Scala/Lift的组合。为什么这些组合存在?使用Scala与Spring或Java搭配Lift是不可能的?

如果我使用Scala,我应该在Scala代码中拥有整个配置吗?或者我可以拥有外部资源,所以我不应该每次修改Scala代码。

回答

3

简短的回答

再回应

Scala和Java的工作好起来。

Scala主编译目标可以编译为运行在任何JVM上的Java字节码。除了运行时兼容性之外,Scala语言本身还支持互操作性。

所以基本项目的设置是这样

./src 
    /main 
     /scala 
     /java 
    test 
     /scala 
     /java 

一切是如何结合在一起是由你所使用的编译系统确定,即sbtgradlemaven都在这里提供了很好的支持。

+0

当我用'java'使用'scala'时,获得哪些好处?我可以用'java'来创建后端员工,而不需要'scala'?你能解释更多请:)谢谢! –

+0

没问题。即使你使用Scala编写的库,你仍然可以从Java调用它,你不需要Scala。 –

4

问:我可以在同一个项目中使用Scala和Java吗?

当然,你可以。您可以在同一个项目中一起使用大多数基于JVM的语言。

问:我该如何去做?

其基本思想是配置构建工具以编译Java和Scala代码。例如,如果您使用Maven,则可以使用Maven Scala plugin编译Scala代码。有两种使用此插件的选项:

  1. 禁用Maven Compiler plugin默认编译Java代码。然后,让Maven Scala插件编译Java和Scala代码。
  2. 继续使用Maven Compiler插件编译Java。配置Maven Scala插件仅编译Scala代码。

我更喜欢选项2,因为我发现Scala编译速度很慢(尽管每个新Scala版本的性能一直在稳步提高),所以使用Maven Compiler插件可以缩短总体构建时间。

问:是不是可以在Spring中使用Scala或带有Lift的Java?

当然,您可以使用Scala与Spring和Java与电梯。你可以检查使用Java,Scala和Spring的my sample application

您会注意到示例应用程序具有用于Java和Scala代码的独立源文件夹,但这不是强制性的,可以在Maven配置中进行配置。

问:如果我使用Scala,我应该在Scala代码中拥有整个配置吗?

我假设你的意思是弹簧配置。您是否希望使用XML文件,Java类或Scala类来配置Spring完全取决于您。所有方法都有效。这取决于你更喜欢和喜欢哪种风格。

您甚至可以将配置分布到多个类甚至是XML和类的组合中。

相关问题