当前位置:实例文章 » JAVA Web实例» [文章]基于SpringBoot和Freemarker的用户管理系统

基于SpringBoot和Freemarker的用户管理系统

发布人:shili8 发布时间:2025-01-09 03:52 阅读次数:0

**基于SpringBoot和Freemarker的用户管理系统**

### 系统概述本系统是一个简单的用户管理系统,使用SpringBoot作为后端框架,Freemarker作为模板引擎。系统提供基本的用户管理功能,如注册、登录、修改个人信息等。

### 系统结构系统结构如下:

* **Controller**:负责处理请求和返回响应* **Service**:负责业务逻辑的实现* **DAO**:负责数据访问层的实现* **Model**:负责模型的定义* **Template**:使用Freemarker作为模板引擎###依赖配置在pom.xml中添加以下依赖:

xml<dependencies>
 <!-- SpringBoot -->
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

 <!-- Freemarker -->
 <dependency>
 <groupId>org.freemarker</groupId>
 <artifactId>freemarker</artifactId>
 <version>2.3.31</version>
 </dependency>

 <!-- MySQL -->
 <dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.27</version>
 </dependency>

 <!-- Druid -->
 <dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid-spring-boot-starter</artifactId>
 <version>1.2.9</version>
 </dependency>
</dependencies>


### 配置文件在application.properties中添加以下配置:

propertiesspring.datasource.url=jdbc:mysql://localhost:3306/userspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.freemarker.cache=truespring.freemarker.template-loader-path=classpath:/templates/


### Controller**UserController.java**

java@RestController@RequestMapping("/user")
public class UserController {
 @Autowired private UserService userService;

 @GetMapping("/list")
 public List list() {
 return userService.list();
 }

 @PostMapping("/add")
 public Result add(@RequestBody User user) {
 userService.add(user);
 return new Result(true, "添加成功");
 }
}


### Service**UserService.java**

java@Servicepublic class UserService {
 @Autowired private UserDao userDao;

 public List list() {
 return userDao.list();
 }

 public void add(User user) {
 userDao.add(user);
 }
}


### DAO**UserDao.java**

java@Repositorypublic class UserDao {
 @Autowired private DruidTemplate druidTemplate;

 public List list() {
 return druidTemplate.queryForList("SELECT * FROM user");
 }

 public void add(User user) {
 druidTemplate.update("INSERT INTO user (name, age) VALUES (?, ?)", user.getName(), user.getAge());
 }
}


### Model**User.java**

java@Entity@Table(name = "user")
public class User {
 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;

 private String name;

 private Integer age;
}


### Template在templates目录下创建index.ftl:

ftl<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <h1>Hello, ${user.name}!</h1>
</body>
</html>


在UserController.java中添加以下方法:

java@GetMapping("/index")
public String index(Model model) {
 User user = new User();
 user.setName("张三");
 user.setAge(18);
 model.addAttribute("user", user);
 return "index";
}


### 测试使用Postman或浏览器访问以下地址:

* GET /user/list* POST /user/add* GET /user/index

其他信息

其他资源

Top