我有一个MVC Java配置,但HandlerInterceptor不排除某些模式.
在标有xxx的行上,如果
1)我同时添加addPatterns("/**")和excludePathPatterns("*.ecxld")对HandlerInterceptor的InterceptorRegistration时,HandlerInterceptor.preHanlde()是不是在所有调用.例如.addPathPatterns("/**").excludePathPatterns("*.ecxld")
2)我只添加excludePathPatterns("*.ecxld")到HandlerInterceptor's InterceptorRegistration,HandlerInterceptor.preHanlde()仍然执行.
(其他拦截器被调用很好).
任何指针赞赏.
谢谢
@Configuration
public class MyMVCConfigurerAdapter extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(getInterceptorOne());
registry.addInterceptor(getMyHandlerInterceptor())
.excludePathPatterns("*.ecxld"); // **xxx**
registry.addInterceptor(getInterceptorTwo()
);
}
Run Code Online (Sandbox Code Playgroud) 我有一个对象(Department),它将是根元素.它有一个聚合对象(Employee),它有两个特化(Manager和FactoryWorker).如果我将Employee设置为其中一个专用对象,则只编组Employee对象属性.我很感激任何提示.
例如
@XmlRootElement(name="department")
class Department {
public Department() {}
private Employee employee;
public void setEmployee(final Employee val) {
this.employee = val;
}
}
class Employee {
private Long id;
public Employee() {}
//getters and setters
}
class Manager extends Employee {
public Manager() {}
private Integer numberOfProjects;
//getters and setters
}
class FactoryWorker extends Employee {
public FactoryWorker() {}
private Boolean worksNights;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
代码片段仅用于显示编组
Deparment department = new Department();
FactoryWorker factoryWorker = new FactoryWorker();
factoryWorker.setId(999);
factoryWorker.setWorksNights(true);
JAXBContext …Run Code Online (Sandbox Code Playgroud) 我想向一个表中添加一个约束,在该表中,任何时候都只能存在一行,并且某个列中有一个值。
例如创建表 MyTable .... status varchar(1); )
对状态列的检查将是 'O'、'C'、'P' 表示 open 、 closed 或 pending 。
可以有多个 Closed 和 Pending 但表中只有一个(或没有)行可以打开。
任何指针表示赞赏。