小编Vin*_*nie的帖子

为什么Spring的ApplicationContext.getBean被认为是坏的?

我问了一个普通的Spring问题:自动转换Spring Beans并让多个人回应,ApplicationContext.getBean()应该尽可能避免调用Spring .这是为什么?

我还应该如何获得我配置Spring创建的bean的权限?

我在一个非Web应用程序中使用Spring,并计划按照LiorH的描述访问共享ApplicationContext对象.

修订

我接受下面的答案,但这是Martin Fowler的另一个选择,他讨论了依赖注入与使用服务定位器(与调用包装本质上相同ApplicationContext.getBean())的优点.

部分,福勒状态," 随着服务定位器应用程序类由一个消息给该定位器询问它[服务]明确地随着喷射没有明确请求时,服务出现在应用程序的类-控制的,因此反转.控制反转是框架的共同特征,但它的东西,是有代价的,它往往是很难理解,当你试图调试导致的问题.所以,整体来说,我宁可不去,[控制反转除非我需要它.这并不是说它是一件坏事,只是因为我认为它需要通过更直接的选择来证明自己的合理性. "

java spring

262
推荐指数
8
解决办法
34万
查看次数

安全Web服务:基于HTTPS的REST与SOAP + WS-Security.哪个更好?

我不是任何安全专家,但我赞成创建REST风格的Web服务.

在创建需要使其传输的数据安全的新服务时.我们已经开始讨论哪种方法更安全 - 使用HTTPS的REST或使用WS-Security的SOAP WS.

我的印象是我们可以使用HTTPS进行所有Web服务调用,这种方法是安全的.我看待它的方式是,"如果HTTPS对银行和金融网站来说足够好,那对我来说已经足够了".同样,我不是这个领域的专家,但我认为这些人对这个问题已经相当认真,并且对HTTPS感到满意.

同事不同意并说SOAP和WS-Security是唯一的出路.

网络似乎全面都在这上面.

也许这里的社区可以权衡各自的利弊?谢谢!

security rest soap web-services

181
推荐指数
10
解决办法
22万
查看次数

我怎样才能"睡"Dart程序

我喜欢在我的Dart应用程序中模拟异步Web服务调用以进行测试.为了模拟这些模拟调用响应的随机性(可能是乱序),我想编程我的模拟等待(睡眠)一段时间后再返回'Future'.

我怎样才能做到这一点?

unit-testing mocking dart

67
推荐指数
8
解决办法
3万
查看次数

设置TIME_WAIT TCP

我们正在尝试调整通过TCP接受消息的应用程序,并使用TCP进行一些内部消息传递.在进行负载测试时,我们注意到响应时间显着降低(然后完全停止),因为对系统进行了更多的同时请求.在此期间,我们看到很多TCP连接处于TIME_WAIT状态,有人建议将TIME_WAIT环境变量从默认的60秒降低到30.

我所知,该TIME_WAIT设置实质上设置了在关闭连接后TCP资源再次可用于系统的时间.

我不是一个"网络人",对这些事情知之甚少.我需要很多联系帖子中的内容,但是"笨拙"了一下.

  • 我想我明白为什么这个TIME_WAIT值不能设置为0,但可以安全地设置为5吗?10岁呢?什么决定了这个值的"安全"设置?
  • 为什么这个值的默认值为60?我猜想比我聪明的人有充分的理由选择这个作为合理的默认值.
  • 关于压倒这个价值的潜在风险和好处,我还应该知道什么呢?

tcp network-protocols

66
推荐指数
3
解决办法
11万
查看次数

Application Server JDBC资源的DataSource或ConnectionPoolDataSource

在应用程序服务器中创建JNDI JDBC连接池时,我始终将类型指定为javax.sql.ConnectionPoolDataSource.我从来没有真正给过太多考虑,因为在非汇集时更喜欢汇集连接似乎总是很自然.

但是,在查看一些示例(特别是对于Tomcat)时,我注意到它们指定了javax.sql.DataSource.此外,似乎有设置maxIdlemaxWait给人以这些连接汇集的印象.无论选择何种类型的数据源,Glassfish都允许使用这些参数.

  • 是否javax.sql.DataSource在应用程序服务器(或servlet容器)中池化?
  • 选择javax.sql.ConnectionPoolDataSource结束有什么(如果有的话)优势javax.sql.DataSource(反之亦然)?

java database configuration connection-pooling application-server

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

有没有办法发现Cassandra CQL表结构?

假设我使用CQL来定义此表.

CREATE TABLE songs (
    id uuid PRIMARY KEY, 
    title text,
    album text, 
    artist text, 
    tags set<text>, 
    data blob);
Run Code Online (Sandbox Code Playgroud)

其他开发人员(或几周后我自己)(重新)如何发现此表的布局?

我在考虑与MySQL DESCRIBE {tablename}命令相同的东西.

[编辑]

我看到DESCRIBECassandra的命令行界面(CLI)中有一个方法,但在使用它时,它声明它的结果中不包含有关CQL表的信息.

cql cassandra

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

Spring的@Required注释的推荐用法

我看到Spring有一个@Required注释来标记必须设置的bean中的成员变量.

有使用它的最佳做法吗?

例如,可能最好在构造函数中设置这些值并明确要求这些参数(特别是在Spring之外使用时)?

谢谢!

java spring

10
推荐指数
1
解决办法
6573
查看次数

使用wsgen和maven从Java生成WSDL时使用方法参数名称?

我正在使用@WebService注释并从Java类生成WSDL wsgen,由Maven构建目标触发.

我遇到的问题是生成的WSDL将Web服务操作的参数定义为arg0, ar1, arg2等,而不是使用代码中的参数名称.这些名称对于试图找出需要传递的内容的服务的客户端没有帮助.

有没有办法告诉wsgen抓取并使用方法中的参数名称 - 通过在方法上放置注释或发送给wsgen的参数?

谢谢!

java maven-2 web-services wsgen

10
推荐指数
1
解决办法
6684
查看次数

JPA persistence.xml类路径是否位于?

这就是我想要做的.我在Web应用程序中使用JPA持久性,但我有一组单元测试,我想在容器外运行.

我的主应用程序位于我的主应用程序persistence.xmlMETA_INF文件夹中,它在容器(Glassfish)中运行良好.

persistence.xmlMETA-INF我的test-classes目录的文件夹中放了第二个.这包含一个单独的持久性单元,我只想用于测试.在eclipse中,我将此文件夹放在类路径中比默认文件夹更高,它似乎工作.

现在,当我直接从命令行运行maven构建并尝试运行单元测试时,将persistence.xml忽略覆盖.我可以META-INF在maven生成的test-classes目录的文件夹中看到覆盖,我希望maven测试使用这个文件,但事实并非如此.我的Spring测试配置覆盖,以类似的方式实现了工作.

我很困惑是否persistence.xml位于类路径中.如果是,我的覆盖应该像弹簧覆盖一样工作,因为maven surefire插件解释 "[测试类目录]将包含在测试类路径的开头".

我错误地预测了persistence.xml文件的位置吗?

我可以(并且已经)在生产persistence.xml文件中创建第二个持久性单元,但是将测试配置放入此生产文件中会感觉很脏.关于如何实现我的目标的任何其他想法都是受欢迎的.

java maven-2 unit-testing jpa classpath

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

ReactJS-在重定向前删除 HTTP 标头

在我的 React 应用程序中,我正在GET对一个端点进行REST Web 服务调用,其目的是为受保护的 S3 资产生成一个预签名的 AWS URL。我们将Authorization标头和令牌传递给服务。

此初始调用按预期工作,服务以重定向(通过 307 响应代码)进行响应,并在响应的Location标头中包含预签名 URL 。

我面临的问题是,当遵循重定向时,亚马逊拒绝使用 400 响应代码和以下消息的呼叫。

Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified.
Run Code Online (Sandbox Code Playgroud)

有没有办法Authorization在重定向之前删除标题?

这似乎应该是一种相当普遍的情况(当 React 应用程序需要访问受保护的 S3 资产时)——有没有更好的方法来处理这个用例?

rest amazon-web-services reactjs

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