• 补充: SpringBoot


    SpringBoot

    1. Spring Boot  约定大于配置

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
    有了springboot 我们就可以…

      ①内嵌Tomcat,不再需要外部的Tomcat;② 不再需要那些千篇一律,繁琐的xml文件。(ssm嵌套了maven,打war包嵌套到Tomcat中,Tomcat启动war包就启动就可以被访问到了;springboot打jar包,jar包里边有一个Tomcat,主函数启动了,Tomcat就启动了即web工程启动了;各种xml配置文件,都可以在一个配置文件中配置
      ③更方便的和各个第三方工具(mysql,redis,elasticsearch,dubbo等等整合),而只需要维护一个配置文件即可。

    Spring Boot和SSM的关系:

                                                                     

       springboot整合了springmvc ,spring等核心功能。也就是说本质上实现功能的还是原有的spring ,springmvc的包,但是springboot单独包装了一层,这样用户就不必直接对springmvc, spring等,在xml中配置。

    没有xml文件,只需要维护application.properties这样一个配置文件即可(与mysql,redis,elasticsearch,dubbo等配置文件的整合)

      1 springboot实际上就是把以前需要用户手工配置的部分,全部作为默认项。除非用户需要额外更改不然不用配置。这就是所谓的:“约定大于配置”;
      2 如果需要特别配置的时候,去修改application.properties

    2. 快速搭建模块

      新建一个project,然后在project下增加一个Module,选择Spring Initializr

     

    目前企业中普遍选择1.5.x,不推荐选择2.x.x 

         选择这个模块所需要的第三方工具,如Web-web(Tomcat就在这里边)、message--kafka

    如果还需要添加其他的工具,在创建的时候忘记添加了,它本质上就是为我们创建的pom文件;再添加其他工具时可直接添加到pom文件中即可。

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

    但是springboot它的版本号在

       <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.20.RELEASE</version>
            <relativePath/> &lt;!&ndash; lookup parent from repository  常用版本1.5.10.RELEASE&ndash;&gt;
        </parent>

    @Controller
    public class Demo1Controller {
        @ResponseBody
        @RequestMapping("testDemo")
        public String testDemo(){
            return "hello demo";
        }
    }
    用main方法启动的tomcat,如下图所示
    用浏览器访问测试:localhost:8080/testDemo
    
    端口号的修改:
    在 resources目录下的application.properties 加入
    server.port=80

        在程序中直接找到XXXXXApplication这个类启动它,这个类只有一个main函数 ,直接执行就启动tomcat了;

         还会自动生成一个配置文件叫:resources/ application.properties(约定 >配置, 比如server. 都是tomcat的一些配置;redis. ,kafka. 等一些配置)

       然后就可以开始写web工程了:controller 控制工程

     LoggerController一定要在GmallLoggerApplication主函数的下面,不然扫描不到(扫描同目录同级之下的类);

    3. SpringBoot的注解

    @RestController

    A convenience annotation that is itself annotated with @Controller and @ResponseBody.

      意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

      1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver则不起作用,返回的内容就是Return 里的内容(String/JSON)。
    例如:本来应该到success.jsp页面的,则其显示success.

      2) 如果使用@RestController注解Controller,需要返回到指定页面,则需要配置视图解析器InternalResourceViewResolver,可以利用ModelAndView返回试图。

      3) 如果使用@Controller注解Controller,如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

    在日志服务器进行分流

    springboot 整合kafka:

    gmall-logger工程中的pom.xml加入

    <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka</artifactId>
      <version>1.3.2.RELEASE</version>
    </dependency>

    application.properties配置文件中:

    #============== kafka ===================
    # 指定kafka 代理地址,可以多个
    spring.kafka.bootstrap-servers=hadoop101:9092
    # 指定消息key和消息体的编解码方式
    spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
    spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

    使用log4j.properties文件打印 或 存储log日志文件;

  • 相关阅读:
    Python学习之collections module-defaultdict()
    LinkList Operation
    Eng1—English daily notes
    (知识扩展)R运用领域一览表
    TED_Topic3:The hidden reason for poverty the world needs to address now
    Stat3—因子分析(Factor Analysis)
    R3—日期处理
    Stat2—主成分分析(Principal components analysis)
    TED_Topic2:My desperate journey with a human smuggler
    MagicB.0—怎样设置电脑自动关机?
  • 原文地址:https://www.cnblogs.com/shengyang17/p/10793458.html
Copyright © 2020-2023  润新知