現在、SpringブートとSpringデータを使用して、最初のJava Webアプリケーションを作成しようとしています。 私はコントローラをすでに作成していますが、今はin-memory-databaseでDatasを作成しようとしています。Java Spring WebアプリケーションNullpointer
新しいユーザーを作成しようとすると、nullpointer例外が発生します。ユーザーはすべての値を設定しています。
POJO:
package db;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private String userName;
private String email;
private String password;
protected User() {}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
DAO:
package db;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
List<User> findByUserName(String userName);
}
サービス:
package db;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
UserRepository repository;
private static final Logger log = LoggerFactory.getLogger(Application.class);
public User start() {
User user = new User();
user.setEmail("[email protected]");
user.setUserName("Ada");
user.setPassword("Password");
repository.save(user);
return user;
}
}
エラー()UserService.startを呼び出します。
2017-07-11 20:31:10.027 ERROR 7604 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
のjava.lang.NullPointerException:私のメインに依存repository
がUserService
に注入されなかったNPEはライン
repository.save(user);
に育てられたように見えるヌル
「@ Autowired」をUserRepositoryリポジトリに追加します。 – fg78nc
あなたの 'User * Service *'に '@ Repository'を付けた' User * Repository * 'が入っているのはなぜですか? –