当前位置:首页 > Java

java如何搭建mvc

2026-03-23 12:42:45Java

Java搭建MVC框架的基本方法

使用Spring Boot快速构建MVC架构
Spring Boot提供了自动配置的MVC支持,简化了传统Spring MVC的配置流程。创建项目时选择Spring Web依赖,或手动添加以下Maven依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

控制器层通过@Controller@RestController注解定义,处理HTTP请求:

@RestController
@RequestMapping("/api")
public class UserController {
    @GetMapping("/users")
    public List<User> getUsers() {
        return userService.getAllUsers();
    }
}

模型层实现方式

实体类使用JPA注解进行ORM映射:

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    // getters/setters
}

服务层通过@Service注解实现业务逻辑:

@Service
public class UserService {
    @Autowired
    private UserRepository repository;

    public List<User> getAllUsers() {
        return repository.findAll();
    }
}

视图层处理方案

Thymeleaf模板引擎配置(适用于传统Web应用): 在application.properties中添加:

java如何搭建mvc

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

创建模板文件:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
    <div th:each="user : ${users}">
        <span th:text="${user.name}"></span>
    </div>
</body>
</html>

数据持久化配置

Spring Data JPA仓库接口:

public interface UserRepository extends JpaRepository<User, Long> {
}

数据库连接配置示例(MySQL):

java如何搭建mvc

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update

传统Servlet方案实现MVC

不使用框架的纯Servlet实现:

// Controller
@WebServlet("/user")
public class UserServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
        UserService service = new UserService();
        req.setAttribute("users", service.getUsers());
        req.getRequestDispatcher("/WEB-INF/views/users.jsp").forward(req, resp);
    }
}

模型对象保持POJO形式:

public class User {
    private String name;
    // 标准JavaBean结构
}

测试MVC组件

控制器单元测试示例:

@SpringBootTest
@AutoConfigureMockMvc
class UserControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @Test
    void shouldReturnUsers() throws Exception {
        mockMvc.perform(get("/api/users"))
               .andExpect(status().isOk())
               .andExpect(jsonPath("$[0].name").exists());
    }
}

集成测试配置:

@TestPropertySource(locations = "classpath:test.properties")
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
class FullContextTest {
    @LocalServerPort
    private int port;

    @Test
    void contextLoads() {
        RestTemplate rest = new RestTemplate();
        String url = "http://localhost:" + port + "/api/users";
        User[] users = rest.getForObject(url, User[].class);
        assertNotNull(users);
    }
}

标签: javamvc
分享给朋友:

相关文章

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

java中如何输入

java中如何输入

输入方法 在Java中,可以通过多种方式实现输入操作,具体取决于输入来源和需求。以下是几种常见的输入方法: 使用Scanner类 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

java如何创建测试类

java如何创建测试类

创建测试类的基本步骤 在Java中创建测试类通常使用JUnit框架,以下是具体方法: 安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖: <dependency>…

java如何创建文件

java如何创建文件

创建文件的方法 在Java中创建文件可以通过多种方式实现,以下是常见的几种方法: 使用File.createNewFile()方法 这种方法适用于简单的文件创建需求。需要先创建一个File对象,然…