我试图在STS3
中制作一个简单的Spring Boot应用程序
,用户可以在其中注册并创建他们的帐户。我在Hibernate中使用PostgreSQL
数据库和JPA
。下面是代码。
实体类:
package tv.app.user;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class UserAccount {
@Id
@GeneratedValue
private Long uid;
private String username;
private String email;
private String password;
public long getUid() {
return uid;
}
public void setUid(long uid) {
this.uid = uid;
}
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;
}
}
控制器:
package tv.app.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class UserAccountController {
@Autowired
UserAccountService userAccountService;
@RequestMapping(value="/register", method=RequestMethod.POST)
public void registerAccount(@RequestBody UserAccount user) {
System.out.println("------2------");
System.out.println(user.getfName());
userAccountService.register(user);
}
}
存储库:
package tv.app.user;
import org.springframework.data.repository.CrudRepository;
public interface UserAccountRepository extends CrudRepository<UserAccount, Long> {
}
buisness服务类:
package tv.app.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserAccountService {
@Autowired
private UserAccountRepository userRepository;
public void register(UserAccount user) {
userRepository.save(user);
}
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/register" method="post">
<input type="text" name="username" placeholder="Username" required /><br>
<input type="text" name="email" placeholder="Email ID" required /><br>
<input type="password" name="password" placeholder="Password" required /><br>
<input type="submit" value="Signup" />
</form>
</body>
</html>
application.properties文件:
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.hibernate.ddl-auto=create
spring.datasource.initialization-mode=always
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/myApp
spring.datasource.username=postgres
spring.datasource.password=postgres
在单击submit之后,控件似乎永远不会进入控制器,因为---2--永远不会输出到控制台,即使表单中的操作与请求映射相同。
显示的错误是:
出现意外错误(Type=不支持的媒体类型,status=415)。不支持内容类型'application/x-www-form-urlencoded;charset=utf-8'
确保调用的是控制器中声明的确切endpoint(localhost:port/register)。如果你不正确,一个HTTP404错误可能会输出...检查一下。
如果您没有得到任何HTTP错误,我会将注释更改为这种格式(并相应地将调用更改为/register/user)(正如Spring在这里所指导的那样):
@RestController
@RequestMapping("/register")
public class UserAccountController {
@Autowired
UserAccountService userAccountService;
@PostMapping("/user")
public void registerAccount(@RequestBody UserAccount user) {
System.out.println("------2------");
System.out.println(user.getfName());
userAccountService.register(user);
}
}
我的SpringBoot应用程序中有一个控制器: 我想在mocks的帮助下,将其与服务分开进行测试。如何实施?
在线程池执行器类中,有一个maxPoolsize来指定最大线程池大小。这意味着如果线程数少于该数,则应立即执行池中的线程。但我发现并非如此。它实际上不能超越corePoolsize。我很困惑。如果maxPoolsize什么都不做,它的目的是什么?这是我的测试程序: 我已指定corePoolSize=2;maxPoolSize=6;我已经创建了5个线程(可运行)。我认为所有5个线程(可运行)应该同时
我有一个springboot应用程序,它根据LDAP验证身份验证。我通过邮递员测试了它,它工作得很好。我扩展了WebSecurityConfigurerAdapter以根据LDAP验证登录凭据。这是工作很好,没有任何问题。我有一个angular前端,我调用/login,并将用户名和密码发送到它。它没有工作,我得到一个CORs错误。我将下面的代码添加到application.java中,我再也看不到
fReceiveBuffer是否存在一个视频帧? 哦,这里是我的FFMPEG初始化代码,需要打开相关视频解码器:http://paste.ubuntu.com/12529760//
问题内容: 我想知道以下代码的行为背后的机制是什么: 我的理解是不 返回 函数,而是 关闭连接/结束请求 。这可以解释为什么我仍然可以在命令后执行代码(我查看了快速源,但它似乎不是异步函数)。 还有其他我可能会想念的东西吗? 问题答案: 当然可以结束HTTP响应,但是它对您的代码没有做任何特殊的事情。 即使您已结束回复,也可以继续做其他事情。 但是,您 无法 做的是利用进行任何有用的操作。由于响应
在JupyterLab中,我希望将代码从编辑器发送到Python控制台执行,最好使用键盘快捷键。文档似乎没有提供实现这一点的方法,但它是IDE的一个基本方面,我认为这是可能的。