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

posted @ 2019-05-13 19:33  MyCreep  阅读(171)  评论(0编辑  收藏  举报