对于新手而言,学习Java需要循序渐进,从基础语法入手,逐步深入到面向对象编程、核心类库、并发编程等内容。以下是一些适合新手的Java学习资料,结合最新技术进行了更新:
User
,映射数据库表。JpaRepository
,实现数据库操作。// User.java
package com.example.demo.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getters and setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
// UserRepository.java
package com.example.demo.repository;
import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
// UserService.java
package com.example.demo.service;
import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User saveUser(User user) {
return userRepository.save(user);
}
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
}
// UserController.java
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping
public String listUsers(Model model) {
model.addAttribute("users", userService.getAllUsers());
return "users/list";
}
@GetMapping("/new")
public String showCreateForm(Model model) {
model.addAttribute("user", new User());
return "users/form";
}
@PostMapping
public String saveUser(@ModelAttribute("user") User user) {
userService.saveUser(user);
return "redirect:/users";
}
@GetMapping("/edit/{id}")
public String showEditForm(@PathVariable Long id, Model model) {
model.addAttribute("user", userService.getUserById(id));
return "users/form";
}
@GetMapping("/delete/{id}")
public String deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
return "redirect:/users";
}
}
User
类使用JPA注解定义了用户实体,包含id、name和email字段。UserRepository
接口继承JpaRepository
,提供了基本的CRUD操作。UserService
类处理业务逻辑,依赖注入UserRepository
。UserController
类处理HTTP请求,使用Thymeleaf模板返回视图。<!-- templates/users/list.html -->
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>用户列表</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h1>用户列表</h1>
<a href="/users/new" class="btn btn-primary mb-3">添加用户</a>
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>邮箱</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.email}"></td>
<td>
<a href="#" th:href="@{/users/edit/{id}(id=${user.id})}" class="btn btn-sm btn-warning">编辑</a>
<a href="#" th:href="@{/users/delete/{id}(id=${user.id})}" class="btn btn-sm btn-danger">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
# application.properties
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=update
这个实例展示了如何使用Spring Boot快速搭建一个简单的Web应用,涵盖了实体类、数据库操作、业务逻辑和前端视图的开发。新手可以通过这个实例了解现代Java Web开发的基本流程和技术栈。
新手 Java 学习资料,Java 最新技术,Java 学习推荐,Java 优质资源,Java 新手入门,Java 技术资料,Java 学习资源,Java 最新教程,Java 实用资料,Java 技术学习,Java 新手教程,Java 最新学习资料,Java 资源整理,Java 入门资料,Java 新技术学习
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。