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的的话,在刚刚搭建的基础上添加自己所需要实现的功能代码即可,在项目中使用的话一般是网络层作为生产者,向微服务发送消息或者是指令,由刚刚整合好的程序作为消费者监听消息,一旦生产者向它发送消息,微服务接收到消息后即可开始相应的功能。
由于微服务实现代码比较冗长这里就不贴出,如有需要沟通欢迎留言,不足之处还望指出!