zoukankan      html  css  js  c++  java
  • IDEA创建SpringBoot,并实现、运行简单实例

    1.打开IDEA,点击 +Create New Project. 开始创建一个新项目。

      

    2.在左侧菜单找到并点击 Spring Initializr,点击next。注意,这里idea默认使用https://start.spring.io提供的在线模板,所以需要保证网络畅通。

    当然也可以选择下面的Custom从指定的链接加载模板。

           这时,就有小朋友要问了。要是没网不就GG了,我还是用eclipse吧。放心,IDEA不可能这么菜。如何在本地搭建spring Initializr服务器,

    请自行百度。后面会写一篇教程,先在这里立个flag吧。

    3.按实际情况依次填写项目信息。其中Type属性可以下拉选择project或者pom,Packaging属性可下拉选择jar或者war(Maven的东西不需要再提了吧)。

    填写完毕后点击 Next。

    4.最激动人心的界面来了!!!你可以从左面选择大类,然后在窗口中间勾选需要的依赖。右边可以看到已选择的依赖项。

    上边下拉框可以选择Spring Boot的版本,这里使用最新版2.2.0 M4。完成后点击 Next。

    这里我选择了“Web”类别下的“Spring Web Starter”、“Template”类别下的“Thymeleaf”以及“SQL”类别下的“Spring Data JPA”和“Mysql Driver”。

          

     5. 终于,最后一步了。设置项目名称Project name 和 工程保存路径 Project location。完成后,点击 Finish。

     

     6.等待IDEA构建好项目后,项目结构如下图所示。根据每个人在第4步选择的依赖不同,目录结构大同小异。

     7.再看看pom.xml,我们需要的依赖都静静的躺在里面。是不是so easy,妈妈再也不用担心我找依赖了。

     

     8.写个简单页面试试新建的工程好不好使。

    spring boot,启动。

     1. .gitignore:分布式版本控制系统git的配置文件,意思为忽略提交
    在 .gitingore 文件中,遵循相应的语法,即在每一行指定一个忽略规则。 如:.log、/target/、.idea
    2. mvnw:全名是maven wrapper的文件
    它的作用是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如mvn clean命令。
    3. mvn文件夹:存放mvnw相关文件
    存放着maven-wrapper.properties和相关jar包以及名为MavenWrapperDownloader的java文件
    4. mvn.cmd:执行mvnw命令的cmd入口
    注:mvnw文件适用于Linux(bash),mv斜体样式*nw.cmd适用于Windows 环境。
    5. .iml文件:intellij idea的工程配置文件
    里面包含当前project的一些配置信息,如模块开发的相关信息,比如java组件,maven组件,插件组件等,还可能会存储一些模块路径信息,依赖信息以及一些别的信息。
    6. .idea文件夹:存放项目的配置信息
    包括数据源,类库,项目字符编码,历史记录,版本控制信息等。
    7. pom.xml:项目对象模型(核心重要)
    pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件。

          9.访问看看效果如何,http://localhost:8080 

    启动项目
    Spring Boot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的Java应用的入口方法。在main方法中使用SpringApplication.run(PlamanagerApplication.class, args),启动Spring Boot应用项目。

    @SpringBootApplication
    @SpringBootApplication是Spring Boot的核心注解它是一个组合注解:
    @SpringBootApplication注解主要组合了
    @Configuration
    @EnableAutoConfiguration(让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置)
    例如,添加了spring-boot-starter-web依赖,会自动添加Tomcat和SpringMVC的依赖,那么Spring Boot会对Tomcat和SpringMVC进行自动配置。
    又如,添加了spring-boot-starter-data-jpa依赖,Spring Boot会自动进行JPA相关的配置。
    Spring Boot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的Bean。建议入口类放置的位置在groupId+arctifactID组合的包名下。
    @ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中

    springboot热部署

    spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。
    原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快。
    其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader
    ,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
    即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机)

    在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
    1、Compile:只编译选定的目标,不管之前是否已经编译过。

    2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)

    3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。


    开启idea自动make功能

    CTRL + SHIFT + A --> 查找 make project automatically --> 选中

     CTRL + SHIFT + A --> 查找Registry --> 找到并勾选 compiler.automake.allow.when.app.running

    • 添加pom依赖

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    </dependency>

    • 开启热部署

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <!--该配置必须-->
    <fork>true</fork>
    </configuration>
    </plugin>
    </plugins>
    </build>

    Spring Data JPA简介
    JPA中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
    Spring Data JPA是Spring Data的一个子项目,它通过提供基于JPA的Repository极大地减少了JPA作为数据访问方案的代码量。
    添加依赖
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
    </dependency>

    修改配置文件
    springboot创建时默认给了一个application.properties配置文件,这个properties格式的文件,好像要多写好多代码,所以改用yml后缀的文件
    application.yml

    spring:
    datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=utf-8
    username: root
    password: ******
    jpa:
    show-sql: true
    database: mysql
    hibernate:
    ddl-auto: update
    properties:
    hibernate:
    format_sql: true
    只需要在pom.xml引入需要的数据库配置,就会自动访问此数据库,如果需要配置其他数据库,可以在application.yml
    默认使用org.apache.tomcat.jdbc.pool.DataSource创建连接池

  • 相关阅读:
    可爱的中国电信 请问我们的电脑还属于我们自己吗?
    了解客户的需求,写出的代码或许才是最优秀的............
    DELPHI DATASNAP 入门操作(3)简单的主从表的简单更新【含简单事务处理】
    用数组公式获取字符在字符串中最后出现的位置
    在ehlib的DBGridEh控件中使用过滤功能(可以不用 MemTableEh 控件 适用ehlib 5.2 ehlib 5.3)
    格式化json返回的时间
    ExtJs中使用Ajax赋值给全局变量异常解决方案
    java compiler level does not match the version of the installed java project facet (转)
    收集的资料(六)ASP.NET编程中的十大技巧
    收集的资料共享出来(五)Asp.Net 权限解决办法
  • 原文地址:https://www.cnblogs.com/dingjiaoyang/p/12090909.html
Copyright © 2011-2022 走看看