Spring-boot: bean не найден - PullRequest
       1

Spring-boot: bean не найден

1 голос
/ 11 апреля 2020

Я новичок в весенней загрузке и пишу операцию CRUD для базовых c практик, вот мой код.

DemoApplication. java:

 package com.example.controller;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;

 @SpringBootApplication
  public class DemoApplication {

    public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }

}

Пользователь. java

   package com.example.model;

  public class User {
   String userName;
  String password;

public String getUserName() {
    return this.userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

}

UserServices. java:

 package com.example.services;
 import com.example.model.User;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;

 @Repository
 public interface UserServices {
     public String loginService(User user);
 }

UserServiceImplementatioin. java:

package com.example.serviceimplementation;
import com.example.model.User;
import com.example.services.UserServices;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImplementation implements UserServices {
    public String loginService(User user) {
     if(user.getUserName().equals("demouser") && user.getPassword().equals("demopass")) {
        return "Login successfully";
     }
    return "Invalid Username and password";

    }
 }

ServiceController. java:

  package com.example.controller;
  import com.example.services.UserServices;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Service;
  import org.springframework.web.bind.annotation.*;
  import com.example.model.User;

 @RestController
 @RequestMapping(value="/askmeanything")
  public class ServiceController {
  @Autowired
  private UserServices userServices;

  public UserServices getUserServices() {
    return userServices;
  }

  public void setUserServices(UserServices userServices) {
    this.userServices = userServices;
  }

 @CrossOrigin(origins = "*")
 @RequestMapping(value = "/login", method = RequestMethod.POST)
  public String getMsg(@RequestBody User user) throws  Exception {
    return userServices.loginService(user);
  }
}

приведенный выше код, сообщающий мне об ошибке В поле userServices в com.example.controller.ServiceController требуется компонент типа com.example.services.UserServices, который не найден.

1 Ответ

3 голосов
/ 11 апреля 2020

Это потому, что ваш DemoApplication определен в следующем пакете com.example.controller. Таким образом, по умолчанию Spring будет сканировать только этот пакет и его отсутствие. Например, com.example.controller.something. Он не будет сканировать в родительских пакетах.

Либо вы перемещаете DemoApplication в родительский пакет, либо вам необходимо указать правильные пакеты для сканирования компонентов.

@SpringBootApplication(scanBasePackages={"com.example"})

Я предлагаю переместить класс в родительский пакет и позволить весенней загрузке выполнить волхвы c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...