小编Ton*_*ony的帖子

是在JVM加载A类时,还是在调用A.class时创建的Class对象?

据我所知,每个班级都有一个Class对象.我使用同步时有一种情况,例如:

public class A {
    public static void main(String... args){
        synchronize(A.class){
            //do something...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这将锁定AClass对象,对不对?这个Class对象什么时候创建的?它是在JVM加载A类时还是在调用时创建的A.class?我在JLS中找不到详细信息,有人可以提供有关它的链接吗?

java jvm class synchronize

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

Spring Boot集成测试-TestRestTemplate如何将响应Content-Type设置为UTF-8

我尝试集成测试 Spring Boot 应用程序,现在遇到一个问题

org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class org.springframework.http.ResponseEntity] and content type [application/x-json;charset=iso-8859-1]

    at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:109)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:917)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:901)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:655)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:531)
    at org.springframework.boot.test.web.client.TestRestTemplate.exchange(TestRestTemplate.java:735)
Run Code Online (Sandbox Code Playgroud)

如果我做如下

    @Before
    public void init() {
        List<HttpMessageConverter<?>> converters = restTemplate.getRestTemplate().getMessageConverters();
        for (HttpMessageConverter converter : converters) {
            if (converter instanceof MappingJackson2HttpMessageConverter) {
                MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) converter;
                jsonConverter.setObjectMapper(new ObjectMapper());
                jsonConverter.setSupportedMediaTypes(ImmutableList
                        .of(new MediaType("application", "x-json", Charset.forName("iso-8859-1"))));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我向 MappingJackson2HttpMessageConverter 添加了 application/x-json 和 iso8859-1 支持,它可以很好地工作。这是一种解决方法,但我想知道为什么响应内容类型是 application/x-json;charset=iso-8859-1?我的控制器中有生产配置 …

content-type spring-test resttemplate spring-boot

5
推荐指数
0
解决办法
2964
查看次数

子表的休眠软删除

假设我们有两个实体Customer和AppUser,它们是一对多关系。

客户实体:

@Entity
@Table(name = "CUSTOMER")
//Override the default Hibernation delete and set the deleted flag rather than deleting the record from the db.
@SQLDelete(sql="UPDATE customer SET deleted = '1' WHERE id = ?")
//Filter added to retrieve only records that have not been soft deleted.
@Where(clause="deleted <> '1'")
public class Customer implements java.io.Serializable {
    private long id;
    private Billing billing;
    private String name;
    private String address;
    private String zipCode;
    private String city;
    private String state;
    private String notes;
    private …
Run Code Online (Sandbox Code Playgroud)

java hibernate one-to-many soft-delete

2
推荐指数
1
解决办法
3436
查看次数