小编akc*_*soy的帖子

不推荐使用Spring PageableArgumentResolver,如何使用PageableHandlerMethodArgumentResolver?

这是我当前的PageableResolver:

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
    PageableArgumentResolver resolver = new PageableArgumentResolver();
    resolver.setFallbackPageable(new PageRequest(1, 5));
    argumentResolvers.add(new ServletWebArgumentResolverAdapter(resolver));
}
Run Code Online (Sandbox Code Playgroud)

但是不推荐使用PageableArgumentResolver,并链接到PageableHandlerMethodArgumentResolver,我想我们可以在没有适配器的情况下注册,如下所示:

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
    PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
    resolver.setFallbackPageable(new PageRequest(0, 5));
    argumentResolvers.add(resolver);
}
Run Code Online (Sandbox Code Playgroud)

首先,新类PageableHandlerMethodArgumentResolver的实现有点不同,因为new PageRequest(1, 5)引用2.页面所以我必须使用new PageRequest(0, 5)它才能显示第一页.

但我仍然有这个新对象的问题.当我调用没有参数的URL(page.page和page.size)时,首次加载分页栏是完美的.然后,当我想移动分页栏时,我们使用2个参数调用相同的URL(例如,page.page = 3&page.size = 5),仍然显示第一页.我认为这个新的解析器需要的不仅仅是这两个参数,因此它不会激活回退条件.您是否知道如何使用此PageableHandlerMethodArgumentResolver?

java spring spring-mvc spring-data

13
推荐指数
1
解决办法
8245
查看次数

如果删除了文件夹,如何在使用TortoiseSVN进行合并时处理树冲突?

我有这种情况:

  • 具有内容的文件夹将从我们分支的本地副本中删除.更改将在SVN Branch中提交.(我们在Trunk中仍然有这个文件夹)
  • 现在我想合并从Branch到Trunk的所有内容
  • 我转到SVN的Trunk,Merge的本地副本,然后选择我们的分支(首先将SVN-Branch的更改合并到LocalCopy-Of-Trunk)
  • 出现树冲突
  • 我关闭了tortoiseSVN窗口并转到资源管理器中的文件夹结构.
  • 文件夹在那里(但在SVN中标记为冲突)
  • 我手动删除文件夹结构(因为这是我想要的)
  • 我去TortoiseSVN右键单击 - > TortoiseSVN->已解决,我看到了冲突,我将此标记为已解决,然后单击确定.

这是正确的方法吗?

在这个时刻,每当我想在同一个根中使用SVN时,我就会看到这个错误:

错误:错误的子树不允许合并跟踪; tryo恢复项目

当我想将我在本地合并的所有内容(从SVNBranch到LocalCopyOfTrunk)提交到Trunk时,我看到有问题的文件夹及其内容缺失状态.我标记了我想要提交的所有内容(没有丢失的东西),单击"确定",然后收到此警告:

移动/重命名文件夹的非递归提交(此提交不是递归的,并且已选择移动/重命名文件夹用于提交.此类移动/重命名始终在存储库中递归执行.您还要提交吗?)

当我打开有问题的根目录TortoiseSVN-> Revert的父文件夹并将其还原时,SVN再次运行没有问题.但我如何删除它们?解决这种树冲突的更好方法是什么?

svn version-control tortoisesvn merge tree-conflict

13
推荐指数
1
解决办法
3万
查看次数

如何触发计划的Spring批处理作业?

我希望能够使用REST控制器开始工作,然后在作业启动时,它应该按计划运行,直到我再次使用REST停止它.

所以这是我的控制器:

@RestController
public class LauncherController {

    @Autowired
    JobLauncher jobLauncher;

    @Autowired
    Job job;

    @RequestMapping("/launch")
    public String launch() throws Exception {
             ...
            jobLauncher.run(job, jobParameters);
    }
Run Code Online (Sandbox Code Playgroud)

这是Batch conf的一部分:

@Configuration
@EnableBatchProcessing
@EnableScheduling
public class BatchConfiguration {

    @Autowired
    public JobBuilderFactory jobBuilderFactory;

    @Autowired
    public StepBuilderFactory stepBuilderFactory;

    @Scheduled(cron = "0/5 * * * * ?")
    @Bean
    public Job job() {
        return jobBuilderFactory.get("job")
                .incrementer(new RunIdIncrementer())
                .flow(step1())
                .end()
                .build();
    }

    @Bean
    public Step step1() {
        return stepBuilderFactory.get("step1")
                .<Person, Person> chunk(10)
                .reader(reader())
                .processor(processor())
                .writer(writer())
                .build();
    }
Run Code Online (Sandbox Code Playgroud)

我还设置了属性spring.batch.job.enabled = false,因为我不想在Spring …

java spring spring-mvc spring-batch spring-boot

10
推荐指数
2
解决办法
2万
查看次数

Spring Security /找不到j_spring_security_check 404

这是我的WebAppInitializer:

@Configuration
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] { AppConfig.class, WebSecurityConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] { WebConfig.class };
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的安全配置:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService);
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/resources/**");
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-security thymeleaf

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

如何在 Angular 6 上获得活动元素(重点元素)?

——不重复!由于其他问题已过时。不与提出的问题重复!!!!

this.elm.nativeElement.ownerDocument.activeElement
Run Code Online (Sandbox Code Playgroud)

document.activeElement
Run Code Online (Sandbox Code Playgroud)

奇怪地给了我整个身体。我怎样才能获得当前聚焦的元素?

  • elm = ElementRef 的类型,它绑定在我组件的构造函数中。

  • 来自这里的另一个问题: this.renderer.invokeElementMethod 也不可调用,因为 Renderer 现在已弃用,而 Renderer2 显然不再具有该方法。

编辑:这个问题部分回答了这个问题:

document.activeelement 返回正文

在离开旧元素和进入新元素之间,活动元素确实是文档/正文本身。

angular angular6

9
推荐指数
1
解决办法
1万
查看次数

如何在pom.xml中处理"省略与......冲突"的消息?

我有这种情况:

在此输入图像描述

我知道"Maven通过最近赢的策略解决版本冲突".所以这里基于这个规则赢得了aop 3.0.7.但我也在我的pom中定义了dependencyManagement部分,它看起来像这样:

    <properties>
        <org.springframework.version>3.2.4.RELEASE</org.springframework.version>
        <org.springframework.security.version>3.1.4.RELEASE</org.springframework.security.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${org.springframework.security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${org.springframework.security.version}</version>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.7.1</version>
        </dependency>

    </dependencies>

</project>
Run Code Online (Sandbox Code Playgroud)

这就是依赖选项卡上的所有内容:

在此输入图像描述

所以我希望spring-aop使用3.2.4.RELEASE版本而不是像webmvc那样的3.0.7,因为我在依赖管理中定义了这个版本.为什么仍然使用旧版本3.0.7?

spring jar dependency-management pom.xml maven

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

在mongoose中填充嵌套数组 - Node.js

这些是我的模式(主题是父级,包含'思想'的列表):

var TopicSchema = new mongoose.Schema({
  title: { type: String, unique: true },
  category: String,
  thoughts: [ThoughtSchema]
}, {
  timestamps: true,
  toObject: {virtuals: true},
  toJSON: {virtuals: true}
});

var ThoughtSchema = new mongoose.Schema({
  text: String,
  author: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
  votes:[{
    _id:false,
    voter: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
    up: Boolean,
    date: {type: Date, default: Date.now}
  }]
}, {
  timestamps: true,
  toObject: {virtuals: true},
  toJSON: {virtuals: true}
});

....
Run Code Online (Sandbox Code Playgroud)

我试图阅读思想的作者并改变我的获取主题api,如下所示:

...
  var cursor = Topic.find(query).populate({
    path: 'thoughts',
    populate: {
      path: 'author',
      model: …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

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

Spring Data MongoDB - 使用自定义 Id 字段时,注释 @CreatedDate 不起作用

我有一个简单的持久化类:

public class Profile implements Persistable<String>{

    @Id
    private String username;

    @CreatedDate
    public Date createdDate;

    public Profile(String username) {
        this.username = username;
    }

    @Override
    public String getId() {
        return username;
    }

    @Override
    public boolean isNew() {
        return username == null;
    }
}
Run Code Online (Sandbox Code Playgroud)

和一个简单的存储库:

public interface ProfileRepository extends MongoRepository<Profile, String> {

}
Run Code Online (Sandbox Code Playgroud)

我的 Spring Boot Application 类也用 @EnableMongoAuditing 进行了注释。但我仍然无法获得注释 @CreatedDate 工作。

ProfileRepository.save(new Profile("user1")) 写入没有字段 createdDate 的实体。我做错了什么?

编辑:这是我的应用程序类(没有@EnableMongoRepositories,但它可以工作,因为存储库在我猜的子包中)

@SpringBootApplication
@EnableMongoAuditing
public class Application {

    public static void main(String[] args) throws Exception …
Run Code Online (Sandbox Code Playgroud)

java mongodb spring-data-jpa spring-data-mongodb spring-boot

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

我可以在 Synology NAS 中部署 Java Spring-Boot 应用程序吗?

我有一个带有 REST API 的 Spring-Boot 应用程序(Maven 构建和 MongoDB 数据库)。我还将在其之上使用 Angular 2 制作一个 UI(npm build)。

我想做的是托管这个网站,其后端和数据库位于服务器上。我可以在 Synology NAS (DS216j) 上执行此操作吗?或者我应该买一台像 Raspberry Pi 3 这样的小型电脑?

我听说我们可以在 Docker 中部署我们的应用程序,Synology 有一个 docker 应用程序还是什么?这会帮助我实现目标吗?我希望获得您类似设置的分步指南。

java deployment synology docker spring-boot

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

使用IntervalObservable时"takeWhile不是函数"

我在Angular 2代码中有这个简单的设置:

IntervalObservable.create(5000)
  .takeWhile(() => this.spinnerOn) // only fires when component is alive
  .subscribe(() => {
    this.httpService.pollResults()
      .subscribe(data => {
        console.log(data);
      });
  });
Run Code Online (Sandbox Code Playgroud)

代码编译,我可以看到我的IDE(IDEA)中的rxjs节点模块使用的takeWhile.d.ts.但是当应用程序运行时,我在控制台中看到此错误:

ERROR TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_IntervalObservable__.a.create(...).takeWhile is not a function
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

rxjs typescript angular

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