一:Spring Boot 整合了所有的框架.  

二:Spring Boot的基础结构共三个文件:

 1:src/main/java  程序开发以及主程序入口

 2:src/main/resources 配置文件

 3:src/test/java  测试程序

spingboot建议的目录结果如下: 

  project

      Application.java

      + -  domain

                 +- Customer.java

+- CustomerRepository.java
+- service
          +- CustomerService.java
        +- controller
          +- CustomerController.java

1、Application.java 建议放到跟目录下面,主要用于做一些框架配置

2、domain目录主要用于实体(Entity)与数据访问层(Repository)

3、service 层主要是业务类代码

4、controller 负责页面访问控

--------------------------------------------------------------------------------------    

三:使用环境:   

   1:若使用的是eclipse ,需安装插件Spring tool suite(sts),若使用的是idea旗舰版,idea 自带了springboot 插件。

2: 推荐使用maven3+,java8
  使用的问题:
  注意:
     1:在idea中创建springboot 项目时,一定要配置maven 的安装路径,
      setting 的覆盖路径,本地maven 路径。否则注解引不进来。
    2:springboot的 ***Application.java 文件要与controller,service,domain
     的包在同一级下,因为启动***application的main方法后,要扫描注解。
     @SpringBootApplication springboot 的核心注解,开启spring自动配置。
----------------------------------------------------------
四:springboot 开发web项目的pom.xml 配置
<modelVersion>4.0.0</modelVersion>
<!--项目说明-->
<groupId>com.bj.boot2</groupId>
<artifactId>boot2</artifactId>
<version>1.0.0</version>

<!--继承父级项目的依赖-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.6.BUILD-SNAPSHOT</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<!--项目描述-->
<name>boot2</name>
<description>Demo project for Spring Boot</description>
<!--项目配置的jdk-->
<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <!--springboot开发web项目的起步依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--springboot开发web项目测试的起步依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <!--springboot 提供的项目打包编译插件-->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
--------------------------------------------------------- 
五:springboot 核心配置文件:(配置端口,上下文等 )

配置位置:src/main/resources/

方式:两种:application.propertis,或 application.yml .

注意:application.yml 配置时的空格问题。两个格式同时用时 application.propertis 优先.

多环境配置:如:resources下有  application.propertis  application-test.propertis application-dev.propertis 多环境下使用时,可以在application中激活用哪个,spring.profiles.active=dev/test 就可以了。

---------------------------------------------------------------------------------------------------------------------------------------

六:springboot 下的springmvc 常用注解:

@Controller   

@ResponseBody

@GetMapping: get请求+requestMapping   

@PostMapping: Post请求+requestMapping  

@RestController: 返回的一定是字符串或json数据,是@Controller和 @ResponseBody 注解的组合注解.

------------------------------------------------------------------------------------------------------------------------------------

七:idea 中Jsp 的开发配置:

  1:pom.xml 引jsp的依赖,4个。

  2:application.properties 下配置jsp 的前后缀。

  3:在main下创建webapp 文件夹,webapp下放jsp.

 4:在pom.xml >build> 添加 resources 标签依赖,用于webapp/jsp 的路径指引,idea 中需要配,eclipse 中不需要配(注意) 

  5:正常开发JspController .

------------------------------------------------------------------------------------------------------------------------------------------------------

 八:idea 中对事物的管理。

   1:在springboot 的入口***application.java 上加  @EnableTransactionManagement,开启事物。

     2: 在具体的业务层service层的方法上加上@Transactional.

注意:springboot中service层的方法上若不加事物(如update方法),则方法中若存在运行时异常,数据照样commit。加上事物后,则数据库数据不会更新

------------------------------------------------------------------------------------------------------------------

 九:springboot 的热部署

  热部署指的是修改代码后,服务器自动加载修改的代码,提高开发效率。

  在pom.xml 添加 spring-boot-devtools 的插件。

注意:使用中出现明明已启动,没生效,这时手动启动程序。

 -------------------------------------------------------------------------------------------------------------------------------------------

十:springboot 中的servlet使用。

  1:在servlet类上加上@webservlet("urlPatterns="servlet 映射路径"")、

  2:在****application的类上加servlet的扫描注解。@ServletConpentScan(basePackages="servlet的路径")。

-----------------------------------------------------------------------------------------------------------------

十一:springBoot 中开发非web项目。

  Java项目 步骤:new project/module> springboot> core>finish.

  启动java项目:springbootContext.getBean("类");得到类对象,再调方法,启动run

注意:java项目创建时不要选web,则pom.xml 中的starter-web的web就没有了,就成了springboot开发java项目的依赖。

 -----------------------------------------------------------------------------------------------------------------------------------------------------

十二:springboot中web项目打war/jar 包。

  打war包:

    1: ***application.java 继承 springbootServletInitializer, 覆盖 一个方法。

    2:pom.xml 中的打包方式改为war

    3.pom.xml 配置maven的打包插件。

    4.运行maven install,成功后在pom.xml 的打包路径下看到    ...........war 文件.

  打jar包:

    1:pom.xml 中的打包方式改为jar.

    2.pom.xml 配置maven的打包插件。

    3:运行maven install,成功后在pom.xml 的打包路径下看到    ...........jar 文件

注意:打 jar包时,maven的打包插件使用 1.4.2 的版本 。其他的版本暂时打 jar包都有点问题。

 -----------------------------------------------------------------------------------------------------------------------------------------------

十三:jar/war 包上线部署

  1:可以将jar/war 放到tomcat的webapps 下部署。

  2:可以将war 放到Linux 下的shell 脚本下执行。

-----------------------------------------------------------------------------------------------------------------------------------