`
周一Monday
  • 浏览: 347013 次
  • 来自: 北京
社区版块
存档分类
最新评论

快速搭建spring boot 应用

 
阅读更多

创建一个用户列表,实现快速搭建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 一下。

具体操作是:点击如下图所示



 

然后,在刷信页面就看到最新的结果了。

 

这个项目结构如下图:



 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 14.9 KB
  • 大小: 10.4 KB
  • 大小: 24.4 KB
分享到:
评论

相关推荐

    Spring框架之快速搭建Spring Boot项目教程指南!0基础!!易懂!!.html

    该教程《Spring框架之快速搭建Spring Boot项目教程指南》主要介绍如何从零开始快速搭建和开发一个Spring Boot项目。内容涵盖了Spring Boot的基本概念、环境搭建、项目创建、控制器编写、数据库操作、错误处理、安全...

    《Spring Boot 2+Thymeleaf企业应用实战》_杨恩雄.pdf

    Spring Boot为快速启动、开发和运行Spring应用程序提供了最小的配置要求,它使用了"约定优于配置"的概念,这意味着开发者只需要遵循默认配置,就能快速搭建项目。 Spring MVC是Spring Framework中的一个模块,它是...

    Spring Boot应用开发框架 v2.6.14.zip

    首先,Spring Boot的核心理念是“约定优于配置”,这意味着它通过预设许多默认配置,使得开发者能够快速搭建一个可运行的应用。在Spring Boot 2.6.14中,你可以发现这个版本支持最新的Spring Framework,以及一系列...

    learning spring boot 2.0

    Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而Spring框架是Java平台的一个开源框架,旨在简化Java应用的开发。Spring Boot则是建立在Spring框架之上的,用于简化Spring应用的配置和部署。 ...

    十分钟上手spring boot

    ### 十分钟上手Spring Boot ...通过以上内容的学习,开发者可以快速掌握Spring Boot的基础知识,并能够开始开发简单的Spring Boot应用。随着经验的积累,开发者可以进一步探索Spring Boot的更多高级功能和技术细节。

    spring boot资料以及项目

    Spring Boot的核心理念是“约定优于配置”,它通过默认配置和自动配置,使得开发者可以快速搭建一个可运行的应用。它内置了Tomcat服务器,支持Java或Groovy编写应用,并且提供了大量的起步依赖(Starters),如数据...

    Spring Boot讲义.pdf

    在Spring Boot中,"快速入门"通常指的是新手或初学者对Spring Boot的基本认识和基础使用,能够快速构建和部署一个Spring Boot应用程序。 ### Spring Boot概述 #### 1.1. 什么是Spring Boot Spring Boot是Spring...

    Spring Boot 2.5.0简单学习pdf资料

    Spring Boot 2.5.0 支持 Spring MVC,能够快速搭建 Web 应用程序。 MyBatis MyBatis 是一个持久化框架,提供了对数据库的访问功能。Spring Boot 2.5.0 支持 MyBatis,能够快速搭建数据库访问层。 项目开发流程 ...

    利用IDEA快速搭建Spring-Boot框架

    在本文中,我们将深入探讨如何使用IntelliJ IDEA(简称IDEA)这一强大的Java集成开发环境,快速搭建一个基于Spring Boot的应用程序。Spring Boot是一个流行的Java框架,它简化了Spring应用的初始设置和配置,使得...

    Spring Boot2企业应用实战

    8. **安全控制**:通过`spring-boot-starter-security`,Spring Boot提供了基本的安全管理功能,包括身份验证和授权,可以快速搭建安全的Web应用。 9. **测试**:Spring Boot提供了方便的测试支持,包括`@...

    Spring Boot快速搭建和部署应用程序

    - **IDE**:大多数现代IDE(如IntelliJ IDEA、Eclipse)支持一键启动Spring Boot应用。 - **热部署与自动重启**:修改代码后无需重启服务器即可看到效果,极大提升了开发效率。 #### 五、丰富的功能与扩展性 - **...

    Spring Boot 教程、技术栈示例代码,快速简单上手教程。

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,...

    Spring Boot 2 Cookbook 第二版

    总的来说,《Spring Boot 2 Cookbook 第二版》是一本全面而实用的参考书,无论你是初学者还是有经验的开发者,都能从中获益,提升你的Spring Boot应用开发技能。书中的例子和实践指导将帮助你更好地理解和应用Spring...

    spring boot 框架搭建 maven项目

    - **定义主类**:定义包含`main`方法的主类,用于启动Spring Boot应用。 ```java public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } ``` ...

    spring boot搭建(二)

    在Spring Boot应用中,通过在数据源配置中插入P6Spy的代理驱动,我们可以获取到详细的SQL语句执行信息,包括执行时间、结果集大小等,这对于性能优化和问题排查非常有帮助。 现在,让我们来看一下文件列表中的`...

    Spring Boot 实战 译者 丁雪丰

    其次,内嵌式Web服务器如Tomcat或Jetty,使得Spring Boot应用可以直接作为可执行的jar运行,无需额外部署到外部服务器。这极大地提高了开发和部署的效率。 健康检查和Actuator是Spring Boot用于微服务监控的重要...

    spring boot 相关技术

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了预配置的依赖项和自动配置功能,使得开发者可以快速地创建生产级别的基于 Spring 的应用程序。 《Spring ...

    《Vue Spring Boot前后端分离开发实战》源码Vue+Spring Boot前后端分离开发实战教学课件(PPT)

    7. **Vue CLI**:Vue的命令行工具,用于快速搭建项目结构,包括生成组件、路由、服务等,并提供自动化构建和测试工具。 8. **Vuex**:Vue的状态管理库,用于集中管理组件之间的共享状态。它解决了复杂应用中数据流...

    Spring Boot应用开发框架 v2.4.12.zip

    提供`@SpringBootTest`注解进行Spring Boot应用的集成测试,以及`@DataJpaTest`、`@WebMvcTest`等特定领域的测试注解。 10. **安全组件Spring Security** Spring Boot默认集成了Spring Security,提供了基本的...

Global site tag (gtag.js) - Google Analytics