美文网首页
Springboot-实战开始

Springboot-实战开始

作者: 渝聆墨 | 来源:发表于2018-12-16 13:28 被阅读183次

    springboot是由Pivotal团队提供的全新的javaweb框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,spring boot配合maven整合了所有的框架,为javaweb开始提供更多的便捷,也让作为新手的我耳目一新,从开始接触javaweb以来先后,从Servlet、Jsp、再到struts2,spring,最后学习到springboot,springboot无疑是最方便快捷的,减少前面需要步骤,不用再考虑过多框架接口的搭建,让javaweb更加便捷。
    一.springboot 开发第一步
    搭建springboot开发运行环境:
    1.安装 IntelliJ IDEA
    官网:http://www.jetbrains.com/idea/download/#section=windows
    破解地址:http://idea.lanyus.com/
    2.安装MySql
    官网:https://www.mysql.com/
    3.安装Navicat for MySQL(数据库编辑&查看)
    官网:https://www.navicat.com/en/products/navicat-for-mysql
    4.安装Postmain(测试)
    官网:https://www.getpostman.com/
    5.安装MindMaster(XMind也可以,思维导图工具)
    6.安装Mockplus(页面原型图设计)
    二.需求分析
    电商类项目:

    电商项目.png
    三.建立数据库表
    先使用Navicat新建数据库market
    基础表:
    1.商品信息表
    2.用户信息表
    3.商家信息表
    4.订单信息表
    • 对于开发人员来说,开发不能只是听从安排像个机器,还应该具有自己的一些思维,自己对于产品的考虑,当然这不止于工作中,在学习中也应该有所考虑,我们不能习惯了拾人麦穗,还应该想想怎么去收割。
      四.开始编写项目
      1.配置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">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.sunql</groupId>
        <artifactId>market</artifactId>
        <version>1</version>
        <packaging>war</packaging>
    
        <name>market</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.4.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-legacy</artifactId>
                <version>1.1.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.2</version>
                    <configuration>
                        <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                        <overwrite>true</overwrite>
                        <verbose>true</verbose>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    
    </project>
    
    • 配置这里直接使用了maven加载配置,简化了手动加包的繁琐,不过我们也不能忘记怎么手动加包这个技能,不能应该便利而丧失了我们本来该有的样子。
    • build标签是打包配置
    • packaging标签是选择打包类型比如war,jar,如果要使用打包到外部tomcat记得在这里设置为war
      2.新建服务运行环境配置
      -删除application.properties文件
      -新建服务运行环境入口application.yml
    spring:
      profiles:
        active: dev  //选择环境
      datasource:
        driver-class-name: com.mysql.jdbc.Driver //mysql驱动
        url: jdbc:mysql://localhost:3306/market?useUnicode=true&characterEncoding=UTF-8&useSSL=true  
        username: root   
        password: 123456
      jpa:
        hibernate:
          ddl-auto: update   //自动创建|更新|验证数据库表结构
        show-sql: true  
    

    hibernate 解释

    • create:
      每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
    • create-drop :
      每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
    • update:
      最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。
    • validate :
      每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
      -新建正式环境application-dev.yml
    server:
      port: 8181
    

    -新建生产环境application-prod.yml

    server:
      port: 8182
    
    思考

    现在准备工作都准备好了,接下开始正式实战项目。不过在这之前还需要准备工作,比如到底springboot让web开发有了怎么样的便利?

    题外话

    下一篇,我将写实际业务的完成,希望能够通过这一波文章让自己养成写作的好习惯。

    相关文章

      网友评论

          本文标题:Springboot-实战开始

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