[英]How can I prevent my Spring Boot Batch application from running when executing test?
[英]How can I prevent controller methods from running twice in spring boot in chrome browser?
我正在使用帶有postgresql的spring boot將表中的行保存並打印表中的行。 我的問題是,所有WebController方法都被執行兩次,但僅當我在chrome中打開url時才執行。 如果我在Internet Explorer中執行此操作,則效果很好。 如何在Chrome瀏覽器中停止此操作?
我將四個文件的代碼作為參考,盡管我認為代碼中沒有任何問題。 我是否需要更改瀏覽器設置或其他內容?
User.java
@Entity
@Table(name="users")
public class User implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name="name")
private String name;
@Column(name="email")
private String email;
public User(String name, String email) {
this.name = name;
this.email = email;
}
@Override
public String toString() {
return String.format("User[id=%d, name='%s', email='%s']",this.id,this.name,this.email);
}
}
UserRepository.java
public interface UserRepository extends JpaRepository<User, Long>{
}
WebController.java
@RestController
public class WebController {
@Autowired
private UserRepository repository;
@GetMapping("home")
public String home() {
System.out.println("whaaat");
return "hi";
}
@GetMapping("/save")
public String process() {
repository.save(new User("vidhi","vd@gmail.com"));
System.out.print("apple ");
return "Done";
}
@RequestMapping("findall")
public String findAll() {
String result = "";
for(User u: repository.findAll()) {
result += u.toString() + "<br>";
}
return result;
}
}
application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/test
spring.datasource.username=postgres
spring.datasource.password=
spring.jpa.generate-ddl=true
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false
我知道方法要運行兩次,因為在表中重復添加了兩行,並且“ whaaat”在控制台中打印了兩次,但僅在chrome中才打印兩次。 任何幫助都會很棒。
謝謝你的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.