当前位置: 首页 > 知识库问答 >
问题:

Spring应用程序启动失败

符棋
2023-03-14

我是spring的初学者,希望这样做示例项目…我有一个数据库,我想连接到它…我使用了像AutoWired和service这样的注释。但有个问题我解决不了

Controller包中的RegisterationController具有我要调用的服务:

@RestController
public class RigesterationController {
	@Autowired
	private DataManagment dm =new DataManagment() ;
	
	@CrossOrigin(origins = "http://localhost:8060")
	@GetMapping("/SignUp/{email}/{UName}/{Pass}/{gender}/{UserType}")
	@ResponseBody
	public void SignUp(@PathVariable String email , @PathVariable String UName , 
					   @PathVariable String Pass , @PathVariable char gender , @PathVariable String UserType )
	{		
		boolean valid = dm.Validate(email , Pass ) ; // validate email & Pass
		if (valid)
		{
			if (UserType.equals("s"))
			{
				StudentAccount studentaccount = new StudentAccount(email , Pass , UName , gender) ;
				dm.add(studentaccount) ;
				System.out.println("Account Created Successfully"  );
			}
		}
		else 
		{	
			System.out.println("Invalid Data, Please Try Again" );
		}
		
		}

第一个包中的DataManagement类:

@Service
public class DataManagment {
	
	@Autowired
	private StudentAccountRepository StudentAccount1 ;
	
  public boolean Validate (String email , String Pass )
	{
		
		if(!email.contains("@") || email.contains(" ") || (Pass.length()<8) || !email.contains(".com") )
			return false;
		else
			return true;
	}
  
	public void add(StudentAccount studentaccount2) {
		StudentAccount1.save(studentaccount2) ;
	}

第一包中的StudentAccountRepository:

package first;

import org.springframework.data.repository.CrudRepository;

public interface StudentAccountRepository extends CrudRepository<StudentAccount,String > {

}

第一包中得学生帐户..引用数据库中的表:

package first;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="studentaccount")
public class StudentAccount  {
	@Id
	private String email;
	private String password;
	private String name ;
	private char gender;
	
	public StudentAccount(String email, String password , String name , char gender ) {
		super();
		this.email = email;
		this.password = password;
		this.name = name;
		this.gender = gender;
		
	}
	
	public StudentAccount() {
		super();
		this.email = "";
		this.password = "";
		this.name = "";
		this.gender = ' ';
	}

	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;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public char getGender() {
		return gender;
	}

	public void setGender(char gender) {
		this.gender = gender;
	}

}

MainController类

package controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication
public class MainController {
	public static void main(String[] args) {
		SpringApplication.run(MainController.class, args);
	}
}

现在我有这个错误:

应用程序启动失败

考虑在您的配置中定义一个“First.DataManagment”类型的bean。

共有1个答案

翟誉
2023-03-14

如果您在private datamanagment上使用@autowired,您就不能使用new,因为这样Spring就无法自动连接它,因为它不知道新对象的任何信息。顾名思义,@autowired由Spring用于自动查找已经存在的内容。此外,如果您试图通过构造函数进行注入,则应该这样做

private DataManagement dm;

@Autowired
public RigesterationController(DataManagment dm)
{
   this.dm = dm;
}  

对于现场注入,只需键入

@Autowired
private DataManagement dm;
 类似资料:
  • > 出错原因:任务“:bootrun”执行失败。 进程'command'/library/java/javavirtualmachines/jdk1.8.0_60.jdk/contents/home/bin/java''以非零退出值1完成 发生异常:2015-08-23 01:37:57.989 WARN 6186---[main]ationConfigEmbeddedWebApplication

  • 我正在使用一个spring boot项目2年了,我只是试图让一个同事参与,但我不能让存储库在他的计算机上运行。因此,我已经删除了我的文件夹,并再次克隆了我自己的项目,我可以重现错误,但问题是我无法修复它。 spring boot版本:1.5.22.发布。有什么建议吗? 到目前为止我所做的: 使用maven-resources-plugin修复了所有依赖关系警告/错误 将以下参数添加到我的 试图排除

  • 当我启动Spring Boot应用程序时,我得到了: 2020-11-11 03:02:24.333警告20648--[main]ConfigServletWebServerApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfiedDependencyException:创建名为“org

  • 我试图从spring主页模拟RESTful Web服务”https://spring.io/guides/gs/rest-service/". Gradle编译工作正常,但是当我运行Spring Boot时,我得到了下面的错误,我不知道是什么原因。我是Spring新手,有人能帮我吗? 我的配置详细信息包括: Windows 7 Intellij Idea 13.1.3 Java-8 Gradle-

  • 最近,我遇到了一种情况,即基于Spring的应用程序在访问类(A)中的自动连接字段时抛出“NullPointerApplication”。被自动连接的豆子也用于其他类(B和C)。这些类(B和C)在访问该bean时工作正常。 当我重新启动应用程序时,一切正常。如前所述,如果bean自动连接失败,则类bean创建应失败,应用程序不应启动。相反,应用程序运行良好(A类除外),并且找不到“无法自动连线”异

  • “Spring-Boot-AutoConfigure”,版本:'2.4.1'