我很困惑为什么使用默认包含的jackson,Spring似乎已经定制了默认的Jackson配置.
其中一个令人不安的设置是WRITE_DATES_AS_TIMESTAMPS,杰克逊的默认值是,true然而Spring已经改变了这一点false并且还提供了日期格式.
世界在哪里发生这种情况?我希望我的日期保持序列化为数字.
更新:事实证明它不是导致问题的弹簧,它实际上是休眠导致问题的代理类.出于某种原因,如果hibernate有一个类型映射,type="date"它将序列化作为日期字符串,但是如果type="timestamp"它按预期串行化.而不是花太多时间研究这个,我决定暂时改变我的所有映射到时间戳.
我根据基本和基于表单的身份验证配置了spring-security auto-config='true'.
我希望端点/api/**不使用基于表单的安全性.外部的其他端点/api/**应使用基于表单的登录.我想401发送一个响应,发送给这些没有提供凭据的端点/api/**.
更新:感谢Luke Taylor在下面的评论,我提出了以下解决方案.
注意:此技术仅适用于spring-security 3.1.
首先我单挑/api/**.我们从不创建一个会话虽然使用一个如果可用,这是由处理create-session="never"和使用<session-management/>.
<http pattern="/api/**" create-session="never" use-expressions="true">
<http-basic />
<session-management />
<intercept-url pattern="/api/**" access="hasRole('API_ACCESS')"/>
</http>
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/" access="permitAll"/>
<intercept-url pattern="/**" access="isAuthenticated()"/>
</http>
Run Code Online (Sandbox Code Playgroud) 似乎DataGrid.NET 4附带的内容不包含列和行标题点击的事件.我想接收列标题点击的事件,因为我想提供自己的排序行为并关闭默认排序,这是因为我的视图模型是一个分页模型,一次只显示25/50/100行,默认排序当然只对当前页面进行排序.
现在我可以创建一个DataGridColumnHeader包含可点击元素和设置的新样式ColumnHeaderStyle,虽然这看起来很痛苦,因为我很难搞清楚哪些列被点击等等.
还有其他人反对这个并解决了吗?
我希望能够控制当我使用Visual Studio的一个自动生成的块时为事件生成的默认代码.目前的模板如下:
void HandlerName(object sender, HandlerEventArgs e) {
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
我想将此更改为以下内容:
private void HandlerName(object sender, HandlerEventArgs args) {
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
也就是说,这args是我经常改变的论点.
更新:除此之外,我们还在此处包含对私有成员的评论的政策,因此我的要求的另一个用例是生成默认评论.
更新2:由于非标准命名约定的证据,我现在撤回想要重命名e的args原因,但是我仍然希望覆盖模板,如果可能的话,显式访问修饰符和默认注释.
parallel()然而,今天我使用的是在地图之后执行操作的流;底层源是一个非线程安全的迭代器,类似于BufferedReader.lines实现。
我原本以为 trySplit 会在创建的线程上调用,但是;我观察到对迭代器的访问来自多个线程。
例如,以下愚蠢的迭代器实现只是设置了足够的元素来导致分裂,并且还跟踪访问该hasNext方法的唯一线程。
class SillyIterator implements Iterator<String> {
private final ArrayDeque<String> src =
IntStream.range(1, 10000)
.mapToObj(Integer::toString)
.collect(toCollection(ArrayDeque::new));
private Map<String, String> ts = new ConcurrentHashMap<>();
public Set<String> threads() { return ts.keySet(); }
private String nextRecord = null;
@Override
public boolean hasNext() {
var n = Thread.currentThread().getName();
ts.put(n, n);
if (nextRecord != null) {
return true;
} else {
nextRecord = src.poll();
return nextRecord != null;
}
}
@Override
public String next() {
if (nextRecord …Run Code Online (Sandbox Code Playgroud) 似乎我的鼠标在我的代码窗口中的任何地方都会显示有关它下面的内容的工具提示信息,这让我觉得非常分散注意力并且很烦人.谁能告诉我如何在编辑器中关闭工具提示?
编辑:澄清,为C#
首先,我不能使用声明性@Transactional方法,因为应用程序有多个 JDBC 数据源,我不想厌倦细节,但只要说 DAO 方法传递了正确的数据源来执行逻辑就足够了。所有 JDBC 数据源都具有相同的架构,当我为 ERP 系统公开其余服务时,它们是分开的。
由于这个遗留系统,有很多我无法控制的长期锁定记录,所以我想要脏读。
使用 JDBC 我将执行以下操作:
private Customer getCustomer(DataSource ds, String id) {
Customer c = null;
PreparedStatement stmt = null;
Connection con = null;
try {
con = ds.getConnection();
con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
stmt = con.prepareStatement(SELECT_CUSTOMER);
stmt.setString(1, id);
ResultSet res = stmt.executeQuery();
c = buildCustomer(res);
} catch (SQLException ex) {
// log errors
} finally {
// Close resources
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
好吧,我知道有很多样板。JdbcTemplate所以自从我使用spring以来我就尝试过。
使用Jdbc模板
private Customer getCustomer(JdbcTemplate t, String id) …Run Code Online (Sandbox Code Playgroud) 我有一种情况,我们的单元测试需要很长时间才能执行我们的业务域项目,因为它将数据库设置为已知状态,然后继续执行每个步骤.我知道这可以在命令行中使用"-Dmaven.test.skip = true"来完成,但是希望仅在NetBeans中为项目配置它,如果任何人都可以阐明如何在IDE中进行配置,则全局可以接受.
如何在调用"test"目标时将maven2配置为仅执行测试?
即使调用"test"目标(来自maven docos),使用以下命令也会禁用测试.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud) 我希望能够创建一个页面,列出由注释的控制器发现的映射@Controller.我正在为REST服务执行此操作,这使我们可以轻松地在页面上找到实例可用的端点.
到目前为止,我已经手动执行此操作,但如果可以创建一个控制器,以愉快的格式发布它,那将非常有益.
我追求的关键信息是
GET|POST|DELETE|...)在我可以创建JSP视图的地方访问这些信息将是理想的选择.
我有一个元素,我希望应用背景,虽然我希望背景图像基于其正确的坐标定位.
我可以使用容器div来表示背景,尽管在这种情况下它并不真实.
我现在有以下规则:
.myelem {
background-image: url("myelem.png");
background-position: 5% 60%;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
由于图像的大小,大多数情况下都有效.如果可能的话,我想要一些东西来指明背景的相对位置middle而不是left.
java ×5
spring ×4
.net ×2
spring-mvc ×2
.net-4.0 ×1
c# ×1
css ×1
jackson ×1
java-stream ×1
jdbc ×1
jdbctemplate ×1
json ×1
maven-2 ×1
netbeans ×1
spring-jdbc ×1
unit-testing ×1
wpf ×1