• springBoot入门


    什么是springBoot:

      springBoot是spring公司生产的一个后端全栈开发框架

    springBoot作用:

      开箱即用,提倡零配置文件.springBoot将各个框架整合好,形成启动器,所以在

    maven的pom文件中加入启动器的依赖坐标就会一次性引入好多需要的jar包,比较方便

    也防止了jar包之间的冲突问题,不需要框架整合,直接写代码.结月人力成本!

     

    springBoot使用:

      1.所有springboot项目必须都是jar包类型的项目

      2.所有的springboot项目必须依赖于spring官方的parent项目,也就是所有springboot项目都是spring官方的parent项目的子项目

      3.springboot项目的启动入口运行这个main方法,那么就会调用底层的tomcat插件.

      *运行tomcat,本项目就可以启动

      *项目写好后 需要上线的时候将项目达成jar包,在线上使用java - jar xxxxx.jar命令运行这个jar包就可以

     

    配置文件:application.properties  名字不能错 里面可以配置端口   -->内部都是key  value 键值对

    server.port=8081 ->改变端口号为8081 默认为8080

    
    
    server.port=8081
    image.server.url=http://192.168.200.128/
    spring.activemq.broker-url=tcp://192.168.200.128:61616
     
     

    image.server.url=http://www.baidu.com  通过key获取value :

    package cn.itcast.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.core.env.Environment;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/test")
    public class testController {
    
        @Value("${image.server.url}")
        private String url;
    
        @Autowired
        private Environment environment;
    
        @RequestMapping("/getName")
        public String getName() {
            String url1 = environment.getProperty("image.server.url");
    
            return "zhangsan"+url+"--"+url1;
        }
    }

     

     

    Spring BootActiveMQ整合

    pom.xml中引入ActiveMQ起步依赖

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

    2)创建消息生产者

    
    
    /**
     * 消息生产者
     * @author Administrator
     */
    @RestController
    public class QueueController {
        @Autowired
        private JmsMessagingTemplate jmsMessagingTemplate;
    
        @RequestMapping("/send")
        public void send(String text){
            jmsMessagingTemplate.convertAndSend("itcast", text);
        }
    }
    
    

    3)创建消息消费者

    
    
    @Component
    public class Consumer {
        @JmsListener(destination="itcast")
        public void readMessage(String text){
            System.out.println("接收到消息:"+text);
        }    
    }
    
    

    测试:启动服务后,在浏览器执行

    http://localhost:8081/send?text=aaaaa

    即可看到控制台输出消息提示。Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以执行应用程序。

    配置的pom

      

    <?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>cn.itcast</groupId>
        <artifactId>springbootDemo</artifactId>
        <version>1.0-SNAPSHOT</version>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.0.RELEASE</version>
        </parent>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>1.4.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-activemq</artifactId>
            </dependency>
        </dependencies>
    
    </project>

     启动

    package cn.itcast;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * 这个注解表示这个类是springBoot启动类
     */
    @SpringBootApplication
    public class Application {
        /**
         * springBoot项目的启动入口,运行这个main方法
         * 运行tomcat 本项目就可以启动
         * 项目写好后 需要上线的时候将项目达成jar包,在线上使用java - jar xxxxx.jar命令运行这个jar包就可以
         * @param args
         */
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

    发送

    package cn.itcast.controller;

    import org.springframework.jms.core.JmsMessagingTemplate;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    import javax.annotation.Resource;
    import java.util.HashMap;
    import java.util.Map;

    @RestController
    @RequestMapping("/mq")
    public class TestActiveMq {

    /**
    *
    */

    @Resource
    private JmsMessagingTemplate jmsMessagingTemplate;


    @RequestMapping("/test1")
    public String send1(String text) {
    //将数据作为消息发送给消息服务器
    jmsMessagingTemplate.convertAndSend("test-queue111", text);
    return "success";
    }
    @RequestMapping("/test2")
    public String send2(String text) {
    //将数据作为消息发送给消息服务器
    Map<String, String> map = new HashMap<String, String>();
    map.put("name", "张三");
    map.put("phone", "1234653124865");
    map.put("content", "张三买了一个新手机");
    jmsMessagingTemplate.convertAndSend("test-map",map);
    return "success";
    }
    }

     接收

    package cn.itcast.listener;

    import org.springframework.jms.annotation.JmsListener;
    import org.springframework.stereotype.Component;

    import java.util.Map;

    /**
    * 测试监听器,监听来自消息服务器发送来的消息
    */
    //这个类交个spring管理
    @Component
    public class TestListener {

    @JmsListener(destination = "test-queue111")
    public void testListener(String text) {
    System.out.println("接收到的消息为" + text);
    }

    @JmsListener(destination = "test-map")
    public void testListener2(Map<String,String> map) {
    System.out.println("接收到的消息为" + map);
    }
    }

     

     

      2019-05-13

    积少成多, 积沙成塔.
  • 相关阅读:
    基础
    条件语句/变量和基本数据类型
    编程语言介绍
    asp.net中log4net使用方法
    web布到服务器上出错
    《转》IEnumerable、IEnumerator两个接口的认识
    异步ADO.NET
    Session的使用
    AJAX参数及各种HTTP状态值
    简易的抓取别人网站内容
  • 原文地址:https://www.cnblogs.com/lei0913/p/10856796.html
Copyright © 2020-2023  润新知