zoukankan      html  css  js  c++  java
  • SpringBoot 学习

    一: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 脚本下执行。

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

  • 相关阅读:
    。【自学总结 2】------3ds Max 菜单
    。【自学总结 1】------3ds Max 界面
    。求推荐一个usb集线器的购买网址
    (翻译)Importing models-Models
    (翻译)Importing models-FBX Importer, Rig options
    [游戏开发-学习笔记]菜鸟慢慢飞(18)-迷宫
    [游戏开发-学习笔记]菜鸟慢慢飞(17)- c#-委托简记(匿名方法,Lambda表达式)
    [游戏开发-学习笔记]菜鸟慢慢飞(16)- Unity3D-Android插件问题集锦
    [游戏开发-学习笔记]菜鸟慢慢飞(15)- Unity3D-图片压缩
    [游戏开发-学习笔记]菜鸟慢慢飞(14)- ScrollView刷新
  • 原文地址:https://www.cnblogs.com/2016-cxp/p/10891785.html
Copyright © 2011-2022 走看看