美文网首页
5.创建模块boot-web

5.创建模块boot-web

作者: 893914135dfd | 来源:发表于2018-07-25 15:01 被阅读15次

文章到这里我们创建应用模块boot-web,用它依赖boot-dao和boot-model,去实现几个具体的读写操作。


图一 检查模块创建参数
【注意】图一中的package 建议保存为com.demo。由于后面的改造,又把web目录去掉了,所以直接在这里不写就会省掉很多麻烦。
图二 注意应用模块的选择
图三 确认
图四 创建完毕后的结构

老一套,我们来对boot-web 进行改造。


图五 改造后的结构

看图五,我们改造了四个地方。下面将列出他们的文件。
1.文件目录 src/main/java/com/demo/Application.java

package com.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2.文件目录 src/main/resources/application.yml

server:
  # 配置端口
  port: 8080
  # 项目启动地址为 localhost:8080/
  servlet:
    context-path: /

spring:
  # 数据库配置
  datasource:
    # 数据库地址
    url: jdbc:mysql://localhost:3306/bootdb?autoReconnect=true&useUnicode=true&characte&characterEncoding=utf8&allowMultiQueries=true&useSSL=true
    # 账号
    username: root
    # 密码
    password: admin321
    # 指定driver的类名,默认从jdbc url中自动探测
    driver-class-name: com.mysql.jdbc.Driver
    # 指定连接的超时时间,毫秒单位
    connection-timeout: 60000
    # 指定连接数据库的超时时间
    login-timeout: 60000

3.文件目录 src/test/java/com/demo/ApplicationTests.java

package com.demo;

import com.demo.dao.mapper.AdminUserDaoMapper;
import com.demo.model.db.AdminUser;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {

    @Autowired
    public AdminUserDaoMapper adminUserDaoMapper;

    @Test
    public void insert(){
        AdminUser user = new AdminUser();
        user.setLoginNo("david-zhou");
        user.setPassword("123456");
        user.setNickname("zdw");
        user.setSex("man");
        user.setRemark("ddddddddddddddddddddddddddddddd");
        adminUserDaoMapper.insert(user);
    }
}

4.改造boot-web的pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>boot-parent</artifactId>
        <groupId>com.demo</groupId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>boot-web</artifactId>

    <name>boot-web</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>

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

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

        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>

        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>boot-model</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>boot-dao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.demo.Application</mainClass>
                    <layout>JAR</layout>
                    <fork>true</fork>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

改造完毕,我们启动下boot-web项目,运行Application.java的main方法即可:看到图六spring的logo和日志中started on 8080,恭喜你改造很成功。


图六 启动boot-web

我们接着测试一下数据访问,前提是你得自己去建表,从上文application.yml中可以知道我的数据库:bootdb , 数据库访问账号 和 密码 根据读者自己设置的来修改。建表请参照boot-model 实体AdminUser属性去创建table : admin_user:


图七 数据库bootdb

没有数据,接着我们运行测试方法,前面改造的文件中已经弄好。直接运行:


图八 运行测试方法
可以看到,测试方法运行是成功的。
图九 数据库新增数据

看图九,我们测试的数据已经插入到了数据库。说明boot-web 依赖boot-dao 和 boot-model 也是成功,实现了数据库访问的操作。
到现在,读者们是否明白模块之前是如何依赖的呢? 想必仔细看过pom.xml文件的读者,大概明白了其中缘由。pom.xml不仅管理着我们对jar包的引入,还管理着我们对其他模块的引入。可以再看看pom.xml的依赖管理。


对于web改造还有很多东西要做。下一篇,我们演示controller.

相关文章

  • 5.创建模块boot-web

    文章到这里我们创建应用模块boot-web,用它依赖boot-dao和boot-model,去实现几个具体的读写操...

  • Web项目开发系列 之一:使用Intelij IDEA搭建web

    一、 工具准备 二、创建maven工程1. 创建工程 2. 选择maven项目 5. 定义工程名称,模块名称默认情...

  • Idea使用篇-目录

    1.下载和安装及破解 2.创建Web项目 3.创建Maven多模块项目 4.导入Web项目 5.导入Maven多模...

  • 简易按钮示例

    1.导入模块 2.创建python函数,输出log 3.创建按钮,关联信号槽 4.程序运行 5.点击按钮后,控制台...

  • node的fs常用模块和stream模块

    fs常用模块 1.获取文件信息 实例 2.读取文件 readFile 实例 3.写入文件 4.删除文件 5.创建目...

  • 2020-08-02模块的使用

    模块的基本使用步骤 创建模块(按照以前的讲解方式创建模块,创建包,创建类,定义方法)为了体现模块的使用,创建两个模...

  • go基础例子

    创建模块 2. 初始化模块 创建接口go 运行 创建第二个模块 添加greetings.go 调用模块, 编辑he...

  • spring boot 2.0新特性概括以及项目多模块

    多模块项目的创建 就这样,在product项目里面创建了一个模块,用相同方式创建client、Server模块。

  • 7.1 包和模块

    导入模块 创建模块 运行自定的模块

  • Android组件化之路由

    项目搭建 1.需求分析 2.功能模块划分 3.基础工具类、框架、接口提取 4.创建路由接口 5.配置gradle完...

网友评论

      本文标题:5.创建模块boot-web

      本文链接:https://www.haomeiwen.com/subject/tvzumftx.html