黑马程序员技术交流社区
标题: 【郑州校区】Java之品优购课程讲义_day14(2) [打印本页]
作者: 谷粒姐姐 时间: 2018-10-15 09:56
标题: 【郑州校区】Java之品优购课程讲义_day14(2)
1.1.1 修改 tomcat 启动端口
在 src/main/resources 下创建 application.properties
[AppleScript] 纯文本查看 复制代码
server.port=8088
重新运行引导类。地址栏输入
http://localhost:8088/info
1.1.1 读取配置文件信息
在 src/main/resources 下的 application.properties 增加配置
[AppleScript] 纯文本查看 复制代码
url=http://www.itcast.cn
我要在类中读取这个配置信息,修改 HelloWorldController
[AppleScript] 纯文本查看 复制代码
@Autowired
private Environment env;
@RequestMapping("/info")
public String info(){
return "HelloWorld~~"+env.getProperty("url");
}
1.1.1 热部署
我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,能不能在我修改代码后不重启就能生效呢?可以,在
pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署。
[AppleScript] 纯文本查看 复制代码
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
file:///C:\Users\user\AppData\Local\Temp\ksohtml\wps699C.tmp.jpg赶快试试看吧,是不是很爽。
1.3 Spring Boot 与 ActiveMQ 整合
1.3.1 使用内嵌服务
(1)在 pom.xml 中引入 ActiveMQ 起步依赖
[AppleScript] 纯文本查看 复制代码
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
(2)创建消息生产者
[AppleScript] 纯文本查看 复制代码
/**
*消息生产者
*@author Administrator
*/
[AppleScript] 纯文本查看 复制代码
@RestController
public class QueueController { @Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@RequestMapping("/send")
public void send(String text){ jmsMessagingTemplate.convertAndSend("itcast", text);
}
}
(3)创建消息消费者
[AppleScript] 纯文本查看 复制代码
@Component
public class Consumer { @JmsListener(destination="itcast") public void readMessage(String text){
System.out.println("接收到消息:"+text);
}
}
测试:启动服务后,在浏览器执行
http://localhost:8088/send.do?text=aaaaa
即可看到控制台输出消息提示。Spring Boot 内置了 ActiveMQ 的服务,所以我们不用单独启动也可以执行应用程序。
1.3.1 使用外部服务
在 src/main/resources 下的 application.properties 增加配置, 指定 ActiveMQ 的地址
[AppleScript] 纯文本查看 复制代码
spring.activemq.broker-url=tcp://192.168.25.135:61616
运行后,会在 activeMQ 中看到发送的 queue
1.3.1 发送 Map 信息
(1)修改 QueueController.java
[AppleScript] 纯文本查看 复制代码
@RequestMapping("/sendmap")
public void sendMap(){
Map map=new HashMap<>();
map.put("mobile", "13900001111"); map.put("content", "恭喜获得 10 元代金券");
jmsMessagingTemplate.convertAndSend("itcast_map",map);
}
(2)修改 Consumer.java
[AppleScript] 纯文本查看 复制代码
@JmsListener(destination="itcast_map")
public void readMap(Map map){ System.out.println(map);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |