SpringBoot入门Demo到整合ActiveMQ步骤详解,快速开发一个微服务程序!

1.1什么是Spring Boot  

Spring诞生是Java企业版(Java企业版,JEE,也称为J2EE)的轻量级代替品。通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

1.2 Spring Boot入门小Demo 

1.2.1起步依赖 
创建Maven工程springboot_demo(打包方式jar)   
在pom.xml中添加如下依赖 
  <母体> 
    <的groupId> org.springframework.boot </的groupId> 
    <artifactId的>弹簧引导起动父</ artifactId的> 
<版本> 1.4.0.RELEASE </版本> 
  </父>   
  <依赖性> 
    <依赖性> 
        <的groupId> org.springframework.boot </的groupId> 
        <artifactId的>弹簧引导起动的Web </ artifactId的> 
    </依赖性> 
  </依赖> 
我们发现默认情况下工程的JDK版本是1.6,而我们通常使用1.7的版本,所以我们需要在pom.xml中添加以下配置 
 
 <性能>    
    <java.version> 1.7 </java.version> 
  </属性> 

并且不需要额外添加插件,直接更改,一行搞定。

1.2.3创建启动引导类 

只需要创建一个引导类。程序即可跑起来
包cn.guyue.demo; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
@SpringBootApplication 
公共类Application { 
 public static void main(String [] args){ 
  SpringApplication.run(Application.class,args); 
 } 
} 

简单解释一下,

@SpringBootApplication其实就是以下三个注解的总和 

@Configuration:用于定义一个配置类 
@EnableAutoConfiguration:Spring Boot会自动根据你jar包的依赖来自动配置项目。 

@ComponentScan:告诉Spring自动扫描并且装入bean容器。

1.2.4 Spring Boot实现Hello World输出 

@RestController 

公共类HelloWorldController { 

 @RequestMapping( “/信息”) 
 public String info(){ 
  返回“HelloWorld”;   
 }   
} 
我们运行启动类来运行程序 
在浏览器地址栏输入http:// localhost:8080 / info即可看到运行结果 

1.2.5修改tomcat启动端口 

**在src / main / resources下创建application.properties **
server.port = 8088 
重新运行引导类地址栏输入:HTTP://本地主机:8088 /资讯  

1.2.6读取配置文件信息 

在src / main / resources下的application.properties增加配置 
    url = http://www.bklianmeng.cn 
我要在类中读取这个配置信息,修改HelloWorldController   
@Autowired 
 私人环境env;   //注入这个读取的豆即可
 
 @RequestMapping( “/信息”) 
 public String info(){ 
  返回“HelloWorld ~~”+ env.getProperty(“url”); //读取就是如此简单

1.2.7热部署 

我们在开发中反复修改类,页面等资源,每次修改后都是需要重新启动才生效,每这样
次启动都很麻烦,浪费了大量的时间,能不能在我修改代码后不重启就能生效呢?可以,在pom.xml中添加如下配置就可以实现这样的功能,我们称之为热部署。 
 <依赖性>   
     <的groupId> org.springframework.boot </的groupId>   
     <artifactId的>弹簧引导devtools </ artifactId的>   
 </依赖性>   

添加依赖后即可完成热部署,再修改配置文件或者是直接修改代码无需重启服务器,即可实现刷新即用。

1.3 ** Spring Boot与ActiveMQ整合**

1.3.1使用内嵌服务 
(1)在pom.xml中引入ActiveMQ起步依赖 
<依赖性> 
    <的groupId> org.springframework.boot </的groupId> 
    <artifactId的>弹簧引导起动的ActiveMQ </ artifactId的> 
</依赖性> 

(2)创建消息生产者 
/ ** 
 *消息生产者 
 * @作者管理员 
 * / 

@RestController 
公共类QueueController { 
 @Autowired 
 私人JmsMessagingTemplate jmsMessagingTemplate; 
 
 @RequestMapping( “/发送”) 
 public void send(String text){ 
  jmsMessagingTemplate.convertAndSend(“guyue”,文字); 
 } 
} 
(3)创建消息消费者 
@零件 
公共类Consumer { 
@JmsListener(destination =“guyue”) //加上监听注解才可以使用内置的ActiveMQ接收到消息,并且目标属性要与发送的一致
 public void readMessage(String text){ 
  的System.out.println( “接收到消息:” +文字); 
 }  
} 
测试:启动服务后,在浏览器执行  
的http://本地主机:8088 /发送文本= AAAAA 

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

1.3.2使用外部服务 

在src / main / resources下的application.properties增加配置,指定ActiveMQ的地址 
spring.activemq.broker-url = tcp://192.168.25.128:61616 <! - 注意这里的配置文件的属性名是固定的 - >
运行后,会在activeMQ中看到发送的队列  

 1.3.3发送地图信息 

(1)修改QueueController.java(只需要封装一个Map即可,其他与文本消息一致)
 
@RequestMapping( “/ sendmap”) 
 public void sendMap(){ 
  Map map = new HashMap <>(); 
  map.put(“mobile”,“16621100000”); 
  map.put(“content”,“恭喜获得10元代金券”);   
  jmsMessagingTemplate.convertAndSend( “guyue_map”,地图); 
 } 
(2)修改Consumer.java 
 @JmsListener(目的地= “guyue_map”) 
 public void readMap(Map map){ 
  的System.out.println(地图);   
 } 

如果是在项目中使用的ActiveMQ的的话,在刚刚搭建的基础上添加自己所需要实现的功能代码即可,在项目中使用的话一般是网络层作为生产者,向微服务发送消息或者是指令,由刚刚整合好的程序作为消费者监听消息,一旦生产者向它发送消息,微服务接收到消息后即可开始相应的功能。

由于微服务实现代码比较冗长这里就不贴出,如有需要沟通欢迎留言,不足之处还望指出!

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值