创建一个用户列表,实现快速搭建spring boot的例子。
技术选型
1、spring boot
2、spring
3、spring JDBC
4、spring mvc
5、h2 数据库
6、thymeleaf
建立一个maven 项目,然后在pom.xml中添加依赖
<!--指定 spring-boot-starter-parent 后面的依赖就不用制定版本号了--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!--spring5 整合 thymeleaf--> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> </dependency> <!--使用h2数据库--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> <!--为了支持热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> </dependencies>
创建实体类
public class Contract { private Long id; private String firstName; private String lastName; private String phoneNumber; private String emailAddress; //getter and setter }
数据库脚本
create table contract( id identity , firstName varchar(30) not null, lastName varchar(30) not null, phoneNumber varchar(30) , emailAddress varchar(30) );
创建数据访问的 ContractRepository 使用的是 spring JDBC
@Repository public class ContractRepository { @Autowired private JdbcTemplate jdbcTemplate; public ContractRepository(){ System.out.println(jdbcTemplate); } public List<Contract> findAll() { return jdbcTemplate.query("select * from contract order by lastName", new RowMapper<Contract>() { @Override public Contract mapRow(ResultSet rs, int i) throws SQLException { Contract contract = new Contract(); contract.setId(rs.getLong(1)); contract.setFirstName(rs.getString(2)); contract.setLastName(rs.getString(3)); contract.setPhoneNumber(rs.getString(4)); contract.setEmailAddress(rs.getString(5)); return contract; } }); } public void save(Contract contract) { jdbcTemplate.update("insert into contract(firstName,lastName,phoneNumber,emailAddress)values(?,?,?,?)", contract.getFirstName(), contract.getLastName(), contract.getLastName(), contract.getPhoneNumber()); } }
创建控制器 ContractController
@Controller @RequestMapping("/") public class ContractController { @Autowired private ContractRepository contractRepository; @RequestMapping(method = RequestMethod.GET) public String home(Model model) { List<Contract> contracts = contractRepository.findAll(); model.addAttribute("contracts", contracts); return "home"; } @RequestMapping(method = RequestMethod.POST) public String submit(Contract contract) { contractRepository.save(contract); return "redirect:/"; } }
创建视图 。spring boot 建议 使用 thymeleaf
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>spring boot contract</title> <!--引入css文件--> <link rel="stylesheet" th:href="@{/style.css}"/> </head> <body> <h2>spring boot contract</h2> <form method="post"> first Name: <input type=text name="firstName" id="firstName"/><br/> lastName: <input type=text name="lastName" id="lastName"/><br/> phoneNumber: <input type=text name="phoneNumber" id="phoneNumber"/><br/> emailAddress:<input type=text name="emailAddress" id="emailAddress"/><br/> <input type="submit" value="submit" /> </form> <!--遍历List集合--> <ul th:each="contract:${contracts}"> <li> <span th:text="${contract.firstName}">firstName</span> <span th:text="${contract.lastName}">lastName</span> <span th:text="${contract.phoneNumber}">phoneNumber</span> <span th:text="${contract.emailAddress}">emailAddress</span> </li> </ul> </body> </html>
最后,开发完程序我们需要部署到tomcat中。但是,使用 spring boot 可以直接使用 main方法启动应用。
创建项目启动类 Application
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
RUN 此main方法即可启动 spring boot 应用。
其中,需要补充的是:
1、在src\main\resources 目录下创建的SQL脚本会自动执行。且脚本名字必须是 schema.sql
2、在src\main\resources\static 目录下作为 静态资源文件的目录
3、可以不需要src\main\webapp 目录,而是将视图(模板)页面放在 src\main\resources\templates 下,spring boot 会自动访问该目录下的视图模板。
成功启动后,访问:http://localhost:80808/ 即可看到如下页面:
有时我们需要修改视图页面,然后想立即看到结果。以前的做法,直接页面F5刷信即可。
但是,这招对spring boot 是不管用的。
那怎么实现修改页面立即刷信功能呢?
1、在pom.xml中添加如下依赖
<!--为了支持热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
此依赖告诉spring boot 在开发时候支持热部署。(建议开发阶段使用)
2、当修改页面后想要立即看到结果需要 make 一下。
具体操作是:点击如下图所示
然后,在刷信页面就看到最新的结果了。
这个项目结构如下图:
相关推荐
该教程《Spring框架之快速搭建Spring Boot项目教程指南》主要介绍如何从零开始快速搭建和开发一个Spring Boot项目。内容涵盖了Spring Boot的基本概念、环境搭建、项目创建、控制器编写、数据库操作、错误处理、安全...
Spring Boot为快速启动、开发和运行Spring应用程序提供了最小的配置要求,它使用了"约定优于配置"的概念,这意味着开发者只需要遵循默认配置,就能快速搭建项目。 Spring MVC是Spring Framework中的一个模块,它是...
首先,Spring Boot的核心理念是“约定优于配置”,这意味着它通过预设许多默认配置,使得开发者能够快速搭建一个可运行的应用。在Spring Boot 2.6.14中,你可以发现这个版本支持最新的Spring Framework,以及一系列...
Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而Spring框架是Java平台的一个开源框架,旨在简化Java应用的开发。Spring Boot则是建立在Spring框架之上的,用于简化Spring应用的配置和部署。 ...
### 十分钟上手Spring Boot ...通过以上内容的学习,开发者可以快速掌握Spring Boot的基础知识,并能够开始开发简单的Spring Boot应用。随着经验的积累,开发者可以进一步探索Spring Boot的更多高级功能和技术细节。
Spring Boot的核心理念是“约定优于配置”,它通过默认配置和自动配置,使得开发者可以快速搭建一个可运行的应用。它内置了Tomcat服务器,支持Java或Groovy编写应用,并且提供了大量的起步依赖(Starters),如数据...
在Spring Boot中,"快速入门"通常指的是新手或初学者对Spring Boot的基本认识和基础使用,能够快速构建和部署一个Spring Boot应用程序。 ### Spring Boot概述 #### 1.1. 什么是Spring Boot Spring Boot是Spring...
Spring Boot 2.5.0 支持 Spring MVC,能够快速搭建 Web 应用程序。 MyBatis MyBatis 是一个持久化框架,提供了对数据库的访问功能。Spring Boot 2.5.0 支持 MyBatis,能够快速搭建数据库访问层。 项目开发流程 ...
在本文中,我们将深入探讨如何使用IntelliJ IDEA(简称IDEA)这一强大的Java集成开发环境,快速搭建一个基于Spring Boot的应用程序。Spring Boot是一个流行的Java框架,它简化了Spring应用的初始设置和配置,使得...
8. **安全控制**:通过`spring-boot-starter-security`,Spring Boot提供了基本的安全管理功能,包括身份验证和授权,可以快速搭建安全的Web应用。 9. **测试**:Spring Boot提供了方便的测试支持,包括`@...
- **IDE**:大多数现代IDE(如IntelliJ IDEA、Eclipse)支持一键启动Spring Boot应用。 - **热部署与自动重启**:修改代码后无需重启服务器即可看到效果,极大提升了开发效率。 #### 五、丰富的功能与扩展性 - **...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,...
总的来说,《Spring Boot 2 Cookbook 第二版》是一本全面而实用的参考书,无论你是初学者还是有经验的开发者,都能从中获益,提升你的Spring Boot应用开发技能。书中的例子和实践指导将帮助你更好地理解和应用Spring...
- **定义主类**:定义包含`main`方法的主类,用于启动Spring Boot应用。 ```java public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } ``` ...
在Spring Boot应用中,通过在数据源配置中插入P6Spy的代理驱动,我们可以获取到详细的SQL语句执行信息,包括执行时间、结果集大小等,这对于性能优化和问题排查非常有帮助。 现在,让我们来看一下文件列表中的`...
其次,内嵌式Web服务器如Tomcat或Jetty,使得Spring Boot应用可以直接作为可执行的jar运行,无需额外部署到外部服务器。这极大地提高了开发和部署的效率。 健康检查和Actuator是Spring Boot用于微服务监控的重要...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了预配置的依赖项和自动配置功能,使得开发者可以快速地创建生产级别的基于 Spring 的应用程序。 《Spring ...
7. **Vue CLI**:Vue的命令行工具,用于快速搭建项目结构,包括生成组件、路由、服务等,并提供自动化构建和测试工具。 8. **Vuex**:Vue的状态管理库,用于集中管理组件之间的共享状态。它解决了复杂应用中数据流...
提供`@SpringBootTest`注解进行Spring Boot应用的集成测试,以及`@DataJpaTest`、`@WebMvcTest`等特定领域的测试注解。 10. **安全组件Spring Security** Spring Boot默认集成了Spring Security,提供了基本的...