var map = {};
map[key] = value;
Run Code Online (Sandbox Code Playgroud)
我怎么能够
我可以做得比:
if (map[key] == null) map[key] = 0;
map[key] = map[key]++;
Run Code Online (Sandbox Code Playgroud) 我有一个通用的抽象模板类.我想如果我创建特定于类型的生成器,我可以直接在泛型类中注入一些DAO服务.但我不能.
为什么?我怎么能解决这个问题呢?
abstract class MyView<T> {
@Inject
MyDao<T> dao;
//some more template methods that make use of the dao
void someMethod() {
dao.use();
}
}
class CustomerView extends MyView<Customer> {
//javax.enterprise.inject.AmbiguousResolutionException: Ambigious resolution
}
class DaoManager {
@Produces
MyDao<Customer> getDaoCustomer() {
return DaoFactory.make(Customer.class);
}
@Produces
MyDao<Product> getDaoProduct() {
return DaoFactory.make(Product.class);
}
}
Run Code Online (Sandbox Code Playgroud)
当我注射例如@Inject MyDao<Customer> dao;它它完美地工作.但不是泛型......
也许我错过了什么,但是没有提供Scope.PROTOTYPE, Scope.SINGLETON静态引用的类吗?
或者我总是必须使用非类型安全的字符串作为范围?
@Scope("prototype")
@Scope("singleton")
Run Code Online (Sandbox Code Playgroud) 是否有Spring数据 CrudRepository通过不是主键的属性提供条目列表的删除?
public interface MyRepository extends CrudRepository<MyEntity, Long> {
@Modifying
@Transactional
public void deleteByName(List<String> names);
}
Run Code Online (Sandbox Code Playgroud) 我有json一些带有一些字段的简单消息,并希望使用它将其映射到java对象spring-web.
问题:我的目标类字段的命名与int json响应的命名方式不同.我怎么能无论如何将它们映射到对象而不必重命名java中的字段?
是否有可以放在这里的注释?
{
"message":"ok"
}
public class JsonEntity {
//how to map the "message" json to this property?
private String value;
}
RestTemplate rest = new RestTemplate();
rest.getForObject(url, JsonEntity.class);
Run Code Online (Sandbox Code Playgroud) 我正在使用spring它RestTemplate来执行GET查询.
如何在每个请求上自动将任何请求和响应数据记录到日志文件中?
我想配置spring-batch为csv按顺序读取特定文件夹中的所有文件.
以下方法不起作用,因为委托将尝试打开一个名为的文件*.csv,这当然是无效的.我有什么要改变的?
@Bean
public ItemReader<String> reader() {
MultiResourceItemReader<String> reader = new MultiResourceItemReader<>();
reader.setResources(new Resource[] {new FileSystemResource("/myfolder/*.csv")});
reader.setDelegate(new FlatFileItemReader<>(..));
return reader;
}
Run Code Online (Sandbox Code Playgroud)
等效的xml配置如下所示,如何将其重写为仅限java的配置?
<bean id="reader" class="org.springframework.batch.item.file.MultiResourceItemReader">
<property name="resources" value="/mypfolder/*.csv"/>
<property name="delegate" ref="flatFileItemReader"/>
</bean>
Run Code Online (Sandbox Code Playgroud) 我有一个spring-boot申请.在run文件夹下,还有一个额外的配置文件:
dir/config/application.properties
应用程序启动时,它使用文件中的值并将它们注入:
@Value("${my.property}")
private String prop;
Run Code Online (Sandbox Code Playgroud)
问题:如何触发重新加载这些@Value属性?我希望能够application.properties在运行时更改配置,并@Value更新字段(可能通过调用/reload应用程序内的servlet来触发更新).
但是怎么样?
我想将bean的getter作为函数传递.调用该函数时,应调用getter.例:
public class MyConverter {
public MyConverter(Function f) {
this.f = f;
}
public void process(DTO dto) {
// I just want to call the function with the dto, and the DTO::getList should be called
List<?> list = f.call(dto);
}
}
public class DTO {
private List<String> list;
public List<String> getList() { return list; }
}
Run Code Online (Sandbox Code Playgroud)
这有可能与Java 8?
以下注释都适用于向swagger-ui文档添加元数据.应该首选哪一个,为什么?
public class MyReq {
@ApiModelProperty(required = true, value = "the persons name")
@ApiParam(required = true, value = "the persons name")
private String name;
}
@RestController
public class MyServlet {
@RequestMapping("/")
public void test(MyReq req) {
}
}
Run Code Online (Sandbox Code Playgroud) java ×9
spring ×6
cdi ×1
directory ×1
file ×1
java-8 ×1
java-ee ×1
javascript ×1
json ×1
lambda ×1
logging ×1
scope ×1
spring-batch ×1
spring-data ×1
spring-mvc ×1
spring-rest ×1
spring-web ×1
swagger ×1
swagger-2.0 ×1
swagger-ui ×1