赞
踩
Spring Boot和Spring MVC之间主要有以下区别:
目的不同:Spring Boot是一个用于快速构建现代应用程序的框架,它通过提供依赖管理、自动配置和其他高级功能来简化Spring的开发。而Spring MVC则是Spring框架的一个核心模块,它提供了一系列Web开发相关的组件,例如控制器和视图解析器等,以便于开发Web应用程序。
使用范围不同:Spring Boot可以用于创建任何类型的应用程序,从简单的命令行工具到Web应用程序和RESTful API,而Spring MVC则更适合于Web应用程序的开发。
基础设施不同:Spring Boot提供了充分的自动配置,可以使开发人员更快速地创建应用程序,而Spring MVC需要开发人员配置框架和容器。
控制反转方式不同:Spring Boot通过使用基于注解的方式来实现控制反转(IoC),而Spring MVC则使用XML或注解的方式实现。
总之,Spring Boot和Spring MVC在目的、使用场景、基础设施和控制反转方法等方面都存在差异。Spring Boot是一个用于快速构建现代应用程序的框架,而Spring MVC是一种Web应用程序开发框架。不过,Spring Boot的自动配置和依赖管理功能也可以用于简化Spring MVC的开发。
下面分别给出两个使用Spring Boot和不使用Spring Boot的例子代码:
》使用Spring Boot的数据访问层(JDBC):
使用Spring Boot,我们只需使用以下pom.xml文件中的依赖项即可访问数据库:
<> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
接下来,我们可以将以下内容添加到application.properties文件中,以便配置JDBC连接池和数据库文件的路径:
spring.datasource.url=jdbc:h2:file:./data/demo spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=spring spring.datasource.password=secret spring.h2.console.enabled=true
在我们的数据访问层中,我们可以使用以下代码访问数据库:
- public List<Person> getPeople() {
- reuturn jdbcTemplate.query("SELECT id, name, age FROM person",
- (rs, rowNum) -> new Person(rs.getInt("id"), rs.getString("name"), rs.getInt("age")));
- }
》没有使用Spring Boot的数据访问层(JDBC):
在没有使用Spring Boot的情况下,我们需要创建我们自己的DataSource类和JdbcTemplate类至少在我们的项目中需要。以下是示例代码:
- @Configuration
- public class DataSourceConfig {
-
- @Bean
- public DataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName("org.h2.Driver");
- dataSource.setUrl("jdbc:h2:file:./data/demo");
- dataSource.setUsername("spring");
- dataSource.setPassword("secret");
- return dataSource;
- }
-
- @Bean
- public JdbcTemplate jdbcTemplate(DataSource dataSource) {
- return new JdbcTemplate(dataSource);
- }
- }
在我们的数据访问层中,我们可以使用以下代码访问数据库:
- public List<Person> getPeople() {
- return jdbcTemplate.query("SELECT id, name, age FROM person",
- (rs, rowNum) -> new Person(rs.getInt("id"), rs.getString("name"), rs.getInt("age")));
- }
可以看到,使用Spring Boot可以大量减少我们需要编写和维护的代码,同时也不需要修改和添加一些用例管理的XML文件,使我们的代码看起来更简介和清晰。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。