我有下表
DROP TABLE IF EXISTS `test`.`foo`;
CREATE TABLE `test`.`foo` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
然后我尝试根据主键获取记录
SELECT * FROM foo f where f.id IN (2, 3, 1);
Run Code Online (Sandbox Code Playgroud)
然后我得到以下结果
+----+--------+
| id | name |
+----+--------+
| 1 | first |
| 2 | second |
| 3 | third |
+----+--------+
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
可以看出,结果按id排序.我想要实现的是按照我在查询中提供的顺序获取结果.鉴于此示例,它应该返回
+----+--------+
| id | name |
+----+--------+
| 2 | …Run Code Online (Sandbox Code Playgroud) 使用时如何在freemarker模板中获取请求上下文路径spring?
我的观点解析器是这样的
<bean id="freeMarkerViewResolver" class="learn.common.web.view.FreemarkerViewResolver">
<property name="order" value="1" />
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<property name="suffix" value=".ftl" />
<property name="cache" value="false" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我的视图解析器learn.common.web.view.FreemarkerViewResolver扩展了org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver
我正在使用spring-cloud-aws的SqsListener从AWS的简单队列服务(SQS)接收JSON格式的 AWS SNS HTTP通知。
这是侦听器的代码:
@SqsListener(value = "my-queue", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void handle(final MyObject obj) throws Exception {
// ...
}
Run Code Online (Sandbox Code Playgroud)
上面链接的文档仅关于向队列发送和读取普通序列化对象,我认为接收SNS消息应该可以立即使用。但是我最终收到转换错误:
10:45:51.480 [simpleMessageListenerContainer-2]错误oscamlSimpleMessageListenerContainer-处理消息时遇到异常。org.springframework.messaging.MessagingException:调用处理程序方法时发生异常;嵌套的异常是org.springframework.messaging.converter.MessageConversionException:未找到可转换为com.myproject.model.MyObject类的转换器,message = GenericMessage
我还尝试创建一个包装对象,该包装对象看起来像上面链接的预期的SNS Json格式,但是我一直收到相同的异常。唯一有效的类型是签名中的字符串。SNS是否应该自动转换?
java spring amazon-web-services spring-cloud spring-cloud-aws
我正在使用Google Visualization Geochart API创建国家/地区的地图.我提供ISO 3266-2国家细分代码并获得正确的结果.但是,在图表中将ISO 3266-2代码显示为标签是一种糟糕的用户体验.所以我想提供一个自定义标签.以此为例:
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['DE-BY', 200],
['DE-NW', 500]
]);
var geochart = new google.visualization.GeoChart(
document.getElementById('visualization'));
geochart.draw(data, {width: 556, height: 347, region: 'DE', resolution: 'provinces'});
}
Run Code Online (Sandbox Code Playgroud)
[在Code Playground上试试]
我想提供'DE-BY'但是有'Bavaria'作为标签.虽然谷歌写了一个,但我必须使用ISO 3266-2代码
等值的英文文本(例如,"US-NJ"或"New Jersey")
是允许的,它是非常不可靠的,并不适用于'巴伐利亚'的例子.
我正在使用spring RestTemplate与xmlwebservice后端进行通信,如下所示:
ResponseEntity<MainDTO> dto = restTemplate.postForObject(url, postData, MainDTO.class);
Run Code Online (Sandbox Code Playgroud)
问题:后端可能会响应MainDTO正常数据或ErrorDTO出现故障.但两者兼而有之HTTP 200.
但我不知道之前会有哪些物体回来!无论如何restTemplate要求我class之前通过这种类型.
那么,我怎么能将xml解析为普通或错误bean?
旁注:我对webservice后端没有任何控制权.
我有一个 Spring 管理的应用程序,我喜欢在其中模拟我的服务层。所以我创建了一个 Spring Application Java Config 并返回了一个实际服务的模拟。
例如,
@Bean
@Profile("resource")
public MyService mockService() {
return mock(MyService.class)
}
Run Code Online (Sandbox Code Playgroud)
然后 MyService 变成
class MyService {
@Autowired
private MyDao dao;
}
Run Code Online (Sandbox Code Playgroud)
当 Spring 创建名称 bean 时"mockService",它还尝试MyDao在模拟上自动装配 ? 在我看来,这违背了嘲笑的目的。这是预期的行为,解决方法是什么?
spring ×4
java ×2
freemarker ×1
javascript ×1
mysql ×1
spring-cloud ×1
spring-mvc ×1
spring-rest ×1
sql ×1