小编Kai*_*jin的帖子

如何在没有嵌入式tomcat的情况下启动Spring Boot应用程序?

我有一个使用jhipster生成的Spring Boot应用程序,它运行正常.但是,我还需要为某些后台批处理作业创建第二个应用程序,并且此应用程序使用第一个应用程序的大多数spring服务.我所做的是创建第二个主类,它启动一个Spring启动应用程序.问题是这也启动了嵌入式Web服务器以及仅对Web应用程序有用的所有服务.我只需要服务,持久性和其他与GUI无关的类.

这是我的两个主要类(简化)

正常的spring-boot应用程序:

@ComponentScan
@AutoConfigure
class Application {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(Application.class)
        app.run(args)
    }
}
Run Code Online (Sandbox Code Playgroud)

后台应用程序:

@ComponentScan
@AutoConfigure
class BackOfficeApplication {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(BackOfficeApplication.class)
        app.run(args)
    }
}
Run Code Online (Sandbox Code Playgroud)

什么有效:我的后台应用程序可以访问我需要的一切.Spring服务,bean等问题:后台应用程序启动GUI,阻止我同时启动它两次.

有没有办法停用嵌入式tomcat服务器的启动?否则,有没有办法以另一种不启动嵌入式服务器的方式加载spring应用程序上下文?

一些细节:*我没有使用mvn spring-boot:run启动应用程序.我直接用java(或使用eclipse)启动类

java spring spring-boot

8
推荐指数
1
解决办法
5858
查看次数

如何在不扩展通配符的情况下扩展bash变量中的变量?

我有一个包含这种字符串的变量:

var='$FOO/bar/baz*'
Run Code Online (Sandbox Code Playgroud)

我想用它的内容替换变量$ FOO.但是,当我这样做的时候

var=$(eval "echo $var")
Run Code Online (Sandbox Code Playgroud)

该变量被替换,但是星号也被替换,因此var现在包含我的文件系统中的每个可能的匹配(就好像我按下了shell中的tab).例如,如果$ FOO包含/ home,var将包含"/home/bar/baz1.sh /home/bar/baz2.sh /home/bar/baz.conf"

如何在不扩展通配符的情况下替换变量?

bash eval

7
推荐指数
1
解决办法
4531
查看次数

将多行插入表中,只更改一个值

假设我有一个包含以下列的表:

场1 | 场2 | field3 | 字段4

我想在此表中插入多行,但field1,field2和field3的值对于每一行都是相同的.只有field4的值会改变.

显然我可以单独插入每一行,但结果查询会有点难看,我想知道是否有更有效/更优雅的方法来做到这一点.

我想到了这样的事情:

insert into my_table (field1, field2, field3, field4) values (foo, bar, baz, ('value one','value two','value three','value four'))
Run Code Online (Sandbox Code Playgroud)

结果将是:

field1 | field2 | field3 | field4
foo    | bar    | baz    | value one
foo    | bar    | baz    | value two
foo    | bar    | baz    | value four
foo    | bar    | baz    | value five
Run Code Online (Sandbox Code Playgroud)

实际上,'field4'列是一种字符串类型,当我编写查询时,不同的值是已知的.没有必要从表或任何东西中获取它们(尽管如果可能的话,我对可以做到的解决方案感兴趣)这是可行的还是我必须单独编写每个插入?

编辑:我已经更改了问题,以更清楚地更改列的数据类型(一般文本数据)以及数据来自何处.对于那些已经回答没有这些信息的人抱歉.

谢谢.

sql oracle

7
推荐指数
3
解决办法
2万
查看次数

标签 统计

bash ×1

eval ×1

java ×1

oracle ×1

spring ×1

spring-boot ×1

sql ×1