当前位置: 首页 > 面试题库 >

Maven型材还是弹簧型材?

赵佐
2023-03-14
问题内容

许多Java应用程序都是使用Maven构建的。Maven具有Profiles概念,为不同环境构建发行包确实非常方便。例如dev/test/prod使用不同的path / jndiname / security rule / properties files…我想我不必在这里列出代码来解释它。

Spring是一个非常不错的Java开发框架,自从spring3以来,它还支持配置文件概念。

现在的问题是,为了释放到不同的ENV目的,哪个更好?现在我更喜欢Maven个人资料。因为spring必须在每个配置文件中复制每个bean定义。并且它需要一个初始化器/属性来让spring知道应该激活哪个配置文件。

但是我觉得spring配置文件比maven配置文件更灵活。

你怎么看?请给一些建议。谢谢。


问题答案:

Maven配置文件将提供构建时解决方案,而SpringFramework配置文件将提供运行时替代方案。我认为这是一个可能会问自己的第一个问题:他是否想拥有一个可以在不同环境中部署的软件包,或者他是否希望构建工具根据目标环境提供不同的软件包。

要记住的一件事是,如果将不同的程序包部署到不同的服务器中,可能会出现许多问题。例如,在我的工作场所中,如果我要部署软件包以纠正以前在生产环境中发生的错误,则公司政策将规定,唯一可以接受的方案是我在质量保证和生产服务器中具有相同的解决方案软件包。



 类似资料:
  • Spring Profiles不像预期的那样工作。我只有不到两个豆子。我要用于local、dev和mydevprofile的第一个Bean。我添加了,但它不起作用。我使用的是Spring Boot 2.0.1.Release

  • 问题内容: 我到处都读到有关Spring如何鼓励您在代码中使用接口的信息。我没看到 您的spring xml配置中没有接口的概念。Spring的哪一部分实际上鼓励您使用接口(而不是文档)? 问题答案: 为类定义接口时,它有助于进行依赖项注入。您的Spring配置文件本身不包含任何有关接口的信息-您只需输入类的名称即可。 但是,如果您要注入另一个提供“等效”功能的类,则使用接口确实会有所帮助。 例如

  • 问题内容: 在我的项目中,我正在尝试迁移的所有用法 进入 好处是显而易见的:类型安全,减少卷积代码,减少无用的常量等。通常,此类行位于静态旧有上下文中,在这种情况下,此类接线是唯一的选择。 一切都很好,直到有一天用户开始抱怨缓慢是由Spring内部产生的。因此,我启动了探查器以在 其中有一个昂贵的电话 。 我迅速创建了一个小型性能测试,以找出字符串名称和类型查找之间的速度差异高达 350 倍(我正

  • 问题内容: 我处理遗留代码库,其中未在春天有线了一类需要获得一类 是 在春季接线。我希望创建一个在启动时已连接的工厂类,然后可以调用getInstance()方法来获取一个连接对象。最好的方法是什么? 例: 我需要在启动时连接FooFactory,以便LegacyA可以简单地调用getInstance(),以便它返回Foo的实例(这也是在应用程序上下文中定义的bean)。 编辑:我不得不重新整理我

  • 问题内容: 我有一个Web应用程序,这里有一个典型的问题,即针对不同环境需要不同的配置文件。某些配置作为JNDI数据源放置在应用程序服务器中,但是某些配置保留在属性文件中。 因此,我想使用Spring配置文件功能。 我的问题是我没有运行测试用例。 context.xml: 测试: 问题似乎是无法解析用于加载配置文件的变量: 当前配置文件应使用注释设置。由于这是一个测试用例,因此我将无法使用。如果可

  • 模型的材质可以有两种定义方式,一种是在代码中导入模型后设置材质,另一种是在建模软件中导出材质信息。下面,我们将分别介绍这两种方法。 代码中设置材质 这种方法与例7.2.1类似,不同之处在于回调函数中设置模型的材质: 例7.3.1 var loader = new THREE.OBJLoader(); loader.load('../lib/port.obj', function(obj) {