小编yuv*_*uva的帖子

在Spring Boot中禁用所有与数据库相关的自动配置

我使用Spring Boot开发两个应用程序,一个用作服务器,另一个用作客户端应用程序.但是,它们都是相同的应用程序,根据活动配置文件的功能不同.我正在使用Spring Boot的自动配置功能来配置我的应用程序.

我想在客户端应用程序上禁用所有与数据库相关的自动配置,因为它不需要数据库连接.应用程序不应尝试与数据库建立连接,也不应尝试使用任何Spring Data或Hibernate功能.启用或禁用数据库自​​动配置应该是有条件的,并且基于应用程序的活动配置文件.

我可以通过为各个配置文件创建两个不同的application.properties文件来实现此目的吗?

我尝试将其添加到我的属性文件中,

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\
  org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\
  org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration
Run Code Online (Sandbox Code Playgroud)

但是,应用程序仍然尝试在启动时连接到数据库.这些排除是否足以满足我的要求?

spring hibernate spring-data spring-data-jpa spring-boot

95
推荐指数
7
解决办法
11万
查看次数

在Javascript中解析'Date&Time'字符串,它是自定义格式

我必须解析格式为"2015-01-16 22:15:00"的日期和时间字符串.我想将其解析为JavaScript Date Object.对此有何帮助?

我尝试了一些jquery插件,moment.js,date.js,xdate.js.仍然没有运气.

javascript jquery datejs datetime-parsing momentjs

13
推荐指数
3
解决办法
6万
查看次数

在基于注释的Spring Boot Application中实现插件架构

我想在Spring Boot应用程序中实现插件架构.让我解释一下我的情景.我有一个主应用程序,它启动服务器,管理安全性等.该应用程序就像我的最终产品的根,它将包括这个根应用程序和添加到其中的其他插件.

现在,这些插件本身就是Spring Boot应用程序,我可以通过动态搜索特定路径中的jar或者将它们作为库添加到项目依赖项中来添加到root应用程序.

插件有自己的配置,就像在主根应用程序中运行的应用程序一样.假设根应用程序运行服务器,插件应用程序可能包含为我的产品提供功能的所有控制器(端点),bean等.

这是前提,现在我想知道的是,

  1. 我怎样才能实现这种架构?
  2. root应用程序如何与插件通信?
  3. 他们会有单独的应用程序上下文吗?
  4. 如何从根应用程序启动和配置子应用程序?
  5. 当应用程序收到客户端的请求时,我如何将请求路由到特定插件内的特定控制器,因为我可能有很多插件.

我对这里的概念感到困惑,以及它是如何工作的.任何形式的帮助表示赞赏.如果有一些人可以提供的例子,那将是非常好的.

java spring spring-mvc plugin-architecture spring-boot

10
推荐指数
2
解决办法
7317
查看次数

在 build.gradle 中为 Selenium 测试程序定义 WebDriver 路径,而不是以编程方式设置系统属性

对于我的 Selenium 测试程序,我一直通过设置系统属性来定义 webdriver 可执行文件的绝对路径。

例如 -

System.setProperty("webdriver.edge.driver",
                    new File("webdrivers/MicrosoftWebDriver.exe").getAbsolutePath());

System.setProperty("webdriver.chrome.driver",
                    new File("webdrivers/chromedriver.exe").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

这种方法完美无缺。但是,对于每个开发环境,我都必须下载 webdriver,将它们放在一个文件夹中,然后通过设置系统属性来引用它们,如上所示。

我不喜欢这种方法,所以我在网上研究了更聪明的方法。然后我在 maven 存储库中找到了一些库,并将它们添加到 build.gradle 文件中。

dependencies {
    compile group: 'org.seleniumhq.selenium', name: 'selenium-firefox-driver', version: '3.4.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver', version: '3.4.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-ie-driver', version: '3.4.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-safari-driver', version: '3.4.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-edge-driver', version: '3.4.0'
}
Run Code Online (Sandbox Code Playgroud)

当我添加这些依赖项时,我不应该期望程序神奇地工作,对吗?因为那没有用。

这里有一个存储库,开发人员试图其中实现我想要为我的项目实现的目标。我尝试了他的方法,但失败了。我的程序无法找到合适的驱动程序。

一个名为WebDriverManager的项目看起来很有吸引力,但仅适用于 Chrome 和 Internet Explorer。我在使用这个库时遇到了 Firefox 和 Opera 的问题,这是我在手动下载驱动程序和设置系统属性方法时没有遇到的问题。

好的,我现在将我的问题分解为两个问题-

1) 如果我像之前展示的那样使用依赖项,我将如何修改我的 build.gradle 文件,以便我不必设置系统属性并以编程方式指向 webdrivers .exe …

java selenium automated-tests gradle selenium-webdriver

5
推荐指数
1
解决办法
2447
查看次数