小编And*_*rea的帖子

Angular 2:为什么在检索路由参数时使用switchMap?

我正在阅读有关路由和导航角度指南.

他们使用此代码检索路由器的参数'id'并使用它来获取service服务的英雄:

ngOnInit() {
  this.route.params
    .switchMap((params: Params) => this.service.getHero(+params['id']))
    .subscribe((hero: Hero) => this.hero = hero);
}
Run Code Online (Sandbox Code Playgroud)

但我不太清楚switchMap在上面的代码中使用运算符的目的是什么.

以下代码不一样?

ngOnInit() {
  this.route.params
    // NOTE: I do not use switchMap here, but subscribe directly
    .subscribe((params: Params) => {
      this.service.getHero(+params['id']).then(hero => this.hero = hero)
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript observable rxjs angular

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

流明:在Blade视图中获取URL参数

我正在尝试从视图文件中获取url参数.

我有这个网址:

http://locahost:8000/example?a=10
Run Code Online (Sandbox Code Playgroud)

和一个名为的视图文件example.blade.php.

从控制器我可以得到的参数a$request->input('a').

有没有办法从视图中获取此类参数(无需将其从控制器传递到视图)?

php laravel blade lumen

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

JPA:仅更新特定字段

是否有更新的方式只有一些领域使用该方法的实体对象save春数据JPA

例如,我有一个像这样的JPA实体:

@Entity
public class User {

  @Id
  private Long id;

  @NotNull
  private String login;

  @Id
  private String name;

  // getter / setter
  // ...
}
Run Code Online (Sandbox Code Playgroud)

凭借其CRUD回购:

public interface UserRepository extends CrudRepository<User, Long> { }
Run Code Online (Sandbox Code Playgroud)

Spring MVC中,我有一个控制器,它获取一个User对象来进行更新:

@RequestMapping(value = "/rest/user", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> updateUser(@RequestBody User user) {

   // Assuming that user have its id and it is already stored in the database,
   // and …
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-data-jpa

51
推荐指数
4
解决办法
5万
查看次数

在Spring Data JPA中处理实体继承的最佳方法

我有三个JPA实体A,BC具有以下层次结构:

    A
    |
+---+---+
|       |
C       B
Run Code Online (Sandbox Code Playgroud)

那是:

@Entity
@Inheritance
public abstract class A { /* ... */ }

@Entity
public class B extends A { /* ... */ }

@Entity
public class C extends A { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

使用Spring Data JPA,为这些实体编写存储库类的最佳方法是什么?

我知道我可以写这些:

public interface ARespository extends CrudRepository<A, Long> { }

public interface BRespository extends CrudRepository<B, Long> { }

public interface CRespository extends CrudRepository<C, Long> …
Run Code Online (Sandbox Code Playgroud)

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

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

Thymeleaf:检查是否定义了变量

我如何检查是否变量定义Thymeleaf

在Javascript中有类似的东西:

if (typeof variable !== 'undefined') { }
Run Code Online (Sandbox Code Playgroud)

或者这在PHP中:

if (isset($var)) { }
Run Code Online (Sandbox Code Playgroud)

在Thymeleaf中有相同的东西吗?

java spring spring-mvc thymeleaf spring-boot

27
推荐指数
3
解决办法
6万
查看次数

Spring Boot类路径

Spring Boot的文档中,关于提供静态内容,它说:

默认情况下,Spring Boot将从类路径中名为/ static(或/ public或/ resources或/ META-INF/resources)的目录中提供静态内容.

我发现目录中的所有内容:

src/main/resources
Run Code Online (Sandbox Code Playgroud)

将被复制到类路径中,因此我可以将我的静态内容放入:

src/main/resources/static
Run Code Online (Sandbox Code Playgroud)

一切都会好起来,我很高兴,因为我可以在src目录下有我的静态内容.

但是,我对此有一些疑问:

  1. 为什么文档没有说静态内容src/main/resources/static而不是说类路径(我觉得这有点令人困惑)?
  2. 假设内容src/main/resources/将始终复制到类路径中,这样做是否合适?
  3. 是否有一些Spring Boot官方文档解释了我应该在除Java类和包之外的类路径中找到的内容(到目前为止我只知道我可以找到所有内容src/main/resources/)?

java spring-mvc classpath spring-boot

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

Thymeleaf:将参数添加到当前网址

我在

http://example.com/some/page?p1=11
Run Code Online (Sandbox Code Playgroud)

我想在当前网址中添加一个参数,而不必重新定义它:

http://example.com/some/page?p1=11&p2=32
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

<a th:href="@{?(p2=32)}">Click here</a>
Run Code Online (Sandbox Code Playgroud)

但上面的代码返回http://example.com/some/page?&p2=32(删除p1参数).

我怎么能用Thymeleaf做到这一点

java spring-mvc url-parameters thymeleaf spring-boot

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

在Thymeleaf中使用instanceof

有没有办法instanceof在Thymeleaf中使用Java 运算符?

就像是:

<span th:if="${animal} instanceof my.project.Cat" th:text="A cat"></span>
<span th:if="${animal} instanceof my.project.Dog" th:text="A dog"></span>
Run Code Online (Sandbox Code Playgroud)

java spring spring-el thymeleaf spring-boot

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

Shared utils函数用于使用Jest进行测试

我有一些我在各种Jest测试中使用的utils函数,例如像这样的函数,用于模拟一个fetch响应:

export const mockFetchJsonResponse = (data) => {
    ok: () => true,
    json: () => data
};
Run Code Online (Sandbox Code Playgroud)

我希望以我可以导入它们并在我的测试中重用的方式共享这些功能.例如:

// Some .spec.jsx file
...
import {mockFetchJsonResponse} from some/path/to/shared/tests/utils.jsx

// Then I can use mockFetchJsonResponse inside this test
// ...
Run Code Online (Sandbox Code Playgroud)

我应该在哪里放置这样的常用工具功能?

我的项目文件夹如下所示:

components/
    CompOne/
        __tests__
        index.jsx
    CompTwo/
        __tests__
        ...
utils/
    __tests__
    http.js
    user.js
    ...
Run Code Online (Sandbox Code Playgroud)

我应该将它们utils与我用于项目的其他utils函数一起放在文件夹中吗?那么我应该为这些功能编写单元测试吗?

javascript reactjs jestjs

12
推荐指数
3
解决办法
5699
查看次数

Spring Boot:使用Hibernate,JDBC和MySQL几小时不活动后,通信链路出现故障

如果我的Spring Boot应用程序在几个小时内处于非活动状态(例如在夜间),我会收到此错误:

2015-05-19 09:16:32.666  WARN 20582 --- [http-nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 08S01
2015-05-19 09:16:32.668 ERROR 20582 --- [http-nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper   : Communications link failure

The last packet successfully received from the server was 29.792.613 milliseconds ago.  The last packet sent successfully to the server was 6 milliseconds ago.
Run Code Online (Sandbox Code Playgroud)

试图解决这个问题我读到MySQL有一个名为wait_timeoutsetted 的参数,默认为8小时(28800秒),在此之后我的所有非活动连接都关闭了,所以我的Spring Boot应用程序停止工作......

我的问题是:

  • 我该如何避免这个问题?
  • 我应该增加这个参数的值吗?
  • 是否存在增加这种价值的任何缺点?(它总是可以是我的应用程序达到的值,如果它长时间处于非活动状态..:/)
  • 是不是有另一种使用Spring Boot的解决方案(如轮询或类似的东西)?

编辑

这里还有其他类似/有用的问题:

mysql spring hibernate jdbc spring-boot

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