我使用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)
但是,应用程序仍然尝试在启动时连接到数据库.这些排除是否足以满足我的要求?
我必须解析格式为"2015-01-16 22:15:00"的日期和时间字符串.我想将其解析为JavaScript Date Object.对此有何帮助?
我尝试了一些jquery插件,moment.js,date.js,xdate.js.仍然没有运气.
我想在Spring Boot应用程序中实现插件架构.让我解释一下我的情景.我有一个主应用程序,它启动服务器,管理安全性等.该应用程序就像我的最终产品的根,它将包括这个根应用程序和添加到其中的其他插件.
现在,这些插件本身就是Spring Boot应用程序,我可以通过动态搜索特定路径中的jar或者将它们作为库添加到项目依赖项中来添加到root应用程序.
插件有自己的配置,就像在主根应用程序中运行的应用程序一样.假设根应用程序运行服务器,插件应用程序可能包含为我的产品提供功能的所有控制器(端点),bean等.
这是前提,现在我想知道的是,
我对这里的概念感到困惑,以及它是如何工作的.任何形式的帮助表示赞赏.如果有一些人可以提供的例子,那将是非常好的.
对于我的 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 ×2
spring ×2
spring-boot ×2
datejs ×1
gradle ×1
hibernate ×1
javascript ×1
jquery ×1
momentjs ×1
selenium ×1
spring-data ×1
spring-mvc ×1