我正在尝试使用Spring Boot重新编写我的配置繁重的vanilla Spring MVC项目.我使用Spring Boot Initiaizer在IntelliJ中启动了一个全新的Spring Boot项目,我将采用最小的基于Java的配置.很多教程都指出生成的默认主类是足够的,并且@SpringBootApplication包含了所有内容.我有一个示例REST控制器工作并返回一个序列化对象作为JSON,但它似乎得到一个显示的视图证明是困难的.我的结构如下,除了我创建的webapps目录之外,其他一切都是默认的.
src
`-main
`-java
`-resources
`-static
`-templates
`-webapp
`-WEB-INF
`-home.jsp
Run Code Online (Sandbox Code Playgroud)
控制器很简单.
@Controller
public class ViewMaster {
@RequestMapping("/home")
public String home() {
return "home";
}
}
Run Code Online (Sandbox Code Playgroud)
没有任何配置,我想知道Spring Boot期望存储视图的位置以及扩展名(html?).我也尝试包含以下内容application.properties但仍然出现404错误.在资源中移动WEB-INF目录或仅移动html文件也无济于事.
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
Run Code Online (Sandbox Code Playgroud)
我也试过在我的pom.xml中包含这些依赖项而没有任何影响.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我必须遗漏一些痛苦明显的东西,所以如果有人可以指出这一点,那就谢天谢地!
我正在尝试通过SFTP连接到Python的远程服务器(使用Paramiko)来自动检索文件.
系统版本:操作系统:Mac OS X Lion Python:2.7.1 Paramiko:1.7.7.2
我最小的例子:
key_file = '/absolute/path/to/.ssh/id_rsa_key' # NOT .pub
key_passphrase = 'id_rsa_key_passphrase'
host = 'ftp.test.com'
port = 22
username = 'my_ftp_username'
password = 'my_ftp_password'
# SSH Key
my_key = paramiko.RSAKey.from_private_key_file(key_file, password=key_passphrase)
# SFTP Connection
transport = paramiko.Transport((host, port))
transport.connect(username=username, password=password, pkey=my_key)
sftp = paramiko.SFTPClient.from_transport(transport)
# Print something
print sftp.listdir()
# Close connections
sftp.close()
transport.close()
Run Code Online (Sandbox Code Playgroud)
以上生成以下日志输出:
DEB [20120606-16:20:46.121] thr=1 paramiko.transport: starting thread (client mode): 0x8ae7dd0L
INF [20120606-16:20:46.241] thr=1 paramiko.transport: Connected (version 2.0, client All)
DEB [20120606-16:20:46.242] …Run Code Online (Sandbox Code Playgroud) 我有一个多租户GAE/J应用程序,并已实施基于cron的夜间备份到Google云端存储.备份似乎简单而便宜,15GB的总数据主要包括索引.
但是,在运行测试还原后,我有几个观察结果,我正在寻找建议.
以上是作品,但它是:
解决方法是分别指定每个命名空间的备份,以便在需要时可以单独访问它们.但我真的不喜欢必须在某处维护我的命名空间列表.
我读了GAEBAR但是理解它不适用于Java应用程序.
我很想知道是否有其他人在这方面有任何实际经验/建议?
(当然,如果Google支持从多命名空间云备份中恢复单个NS,那么最好的解决方案是)
我正在使用 Spring-MVC/Hibernate 编写 REST 服务,似乎 @RequestBody 是接受一堆参数并将其映射到 POJO 的推荐方法。然而,似乎通过 POST 发送的 ID 被转换为 null 而不是实际的对象。一些示例代码会更好地解释。
服务很简单:
@ResponseBody
@RequestMapping(value="add", method = RequestMethod.POST)
public ServiceResponse addTx(@RequestBody Transaction tx) {
...
return ServiceResponse;
}
Run Code Online (Sandbox Code Playgroud)
交易实体有一个账户实体:
@Entity
@Table(name="Transaction")
public class Transaction {
@Column(name="code")
private String code;
@OneToOne
@JoinColumn(name="accountId")
private Account account;
@Column(name="amount")
private int amount;
...
}
Run Code Online (Sandbox Code Playgroud)
我的浏览器发出的 POST 请求负载如下:
{code: "ascasc", amount: 23, accountId: 1, ... }
Run Code Online (Sandbox Code Playgroud)
但在服务器端,构造的 Transaction 对象的 Account 值为 null。即 accountId 1 不会被转换为 Account 对象。我错过了什么吗?
spring-mvc ×2
hibernate ×1
java ×1
jsp ×1
maven ×1
namespaces ×1
paramiko ×1
python ×1
sftp ×1
spring-boot ×1