spring boot 的基本使用和短信微服务的搭建

1.spring boot简介:
  1)spring boot是基于spring开发的,提供了一种快速使用spring的方式,无需xml配置文件

  2)解决的问题:
    大量配置
    依赖问题
    重复性配置

  3)springboot思想:
    自动配置
    起步依赖:需要什么功能,就引入需要的库
    命令行页面
    actuator

2.入门使用:
  1)创建一个jar工程 //使用spring创建web工程时,打包方式选择jar,因为spring boot内置了tomcat
  2)起步依赖: //原理:依赖传递
    通过spring boot 启动器,进行依赖的快速添加,如一个web工程只需要引入两个依赖:

    <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> //导入web启动器
      </dependency>
    </dependencies>

  3)变更jdk版本 //默认为jdk1.6
    只需要在pom.xml中配置一个常量即可:
    <properties>
      <java.version>1.7</java.version>
    </properties>

  4)引导类:用于启动spring boot工程
    1)只需要创建一个类Application,编写main方法,在main方法中添加一个run方法即可,在类上添加注解:@SpringBootApplication

      @SpringBootApplication
      public class Application {
        public static void main(String[] args) {
          SpringApplication.run(Application.class, args); //第一个参数为本类的.class,第二个args对应main方法的参数
        }
      }

     2)直接运行这个main方法即可启动spring boot工程

  5)helloWorldController类的编写: //就是一个springmvc的Controller:
    @RestController
    public class HelloWorldController {

      @RequestMapping("/info")
      public String info(){
        return "HelloWorld";
      }
    }

  6)直接启动引导类,即可启动这个工程:在浏览器地址栏输入 http://localhost:8080/info 即可看到运行结果

  原理:引导类的main方法上的@SpringBootApplication会对工程进行默认的配置。会扫描与引导类在同一个包下的类上的注解

  7)spring boot工程默认端口为8080,修改端口的方式:
    1)在 src/main/resources 下创建 application.properties //这个文件的名称固定
    2)在文件中配置端口的常量: //重新启动工程,即可生效
      server.port=9001
    3)也可以在这个配置文件中自定义自己需要的属性:
      url=www.baidu.com

  8)配置文件application.properties中的属性值的获取

    1)在需要获取属性的类中注入一个Environment对象:
      @Autowired
      private Environment env; //注意这个Environment所在的包:...env包下

    2)直接调用Environment的getProperty()即可
      env.getProperty("url");

    @RestController
    public class HelloWorldController {

      @Autowired
      private Environment env;

      @RequestMapping("/info")
      public String info(){
        return "HelloWorld~~"+env.getProperty("url");
      }
    }

  9)spring boot工程的热部署:
    我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间。可以在pom.xml 中添加如下配置实现spring boot工程的热部署:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId> //添加这个依赖后,修改配置文件或类中内容时,不需要重新启动即可生效
    </dependency>

3.sprign boot 和activemq的整合:
  1)加入activemq的启动依赖:
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-activemq</artifactId>
    </dependency>

  2)消息生产者的编写
    @RestController
    public class QueueController {
      @Autowired
      private JmsMessagingTemplate jmsMessagingTemplate; //注入模板

      @RequestMapping("/send")
      public void send(String text){
        jmsMessagingTemplate.convertAndSend("itcast", text); //通过模板发送消息,第一个参数为消息名称,第二个参数为消息内容
      }
    }

  注意:也可直接发送一个Map对象的消息,将上面方法中的text改为需要发送的Map对象即可

  3)消息消费者:
    @Component
    public class Consumer {
      @JmsListener(destination="itcast") //添加注解监听"itcast"消息
      public void readMessage(String text){ //方法的参数即为接收到的消息,参数类型与消息类型对应 //如果接收的是Map,则参数要为Map类型
        System.out.println("接收到消息:"+text);
      }
    }

  注意:上面使用的activemq使用的是spring boot 内嵌的服务。使用外部的activemq的方法:
  在application.properties中配置一个常量即可:
  spring.activemq.broker-url=tcp://192.168.25.135:61616 //常量名称固定,ip为外部activemq的IP

4.短信微服务:业务轻量级,独立实现某个功能
  1)创建工程,导入依赖:
    2)配置jdk版本为1.7
    3)spring-boot-starter-parent //启动器父包
    4)spring-boot-starter-web //web工程包
    5)spring-boot-starter-activemq //activemq包
    6)aliyun-java-sdk-dysmsapi //阿里大于发短信的包
    7)aliyun-java-sdk-core //阿里大于发短信的包

  2)创建引导类 //同上面的引导类
  3)创建配置文件 application.properties
    server.port=9003 //配置端口
    spring.activemq.broker-url=tcp://192.168.25.135:61616 //配置连接activemq的ip端口
    accessKeyId=不告诉你 //配置发短信的id
    accessKeySecret=不告诉你 //配置发短信的密钥

  4)创建发短信的工具类: //参考阿里大于发短信的工具类

    @Component //需要加入
    public class SmsUtil { //对应阿里大于中的

    @Autowired
    private Environment env; //注入Environment获取配置文件信息

    public SendSmsResponse sendSms(String mobile,String template_code,String //方法中的需要的参数放在形参中动态获取
   sign_name,String param) throws ClientException {

  5)编写消息监听类 //消息消费者
    @Component
    public class SmsListener {
      @Autowired
      private SmsUtil smsUtil;

      @JmsListener(destination="sms")
      public void sendSms(Map<String,String> map){
        try {
          SendSmsResponse response = smsUtil.sendSms(
            map.get("mobile"),
            map.get("template_code"),
            map.get("sign_name"),
            map.get("param") );
            System.out.println("Code=" + response.getCode());
            System.out.println("Message=" + response.getMessage());
            System.out.println("RequestId=" + response.getRequestId());
            System.out.println("BizId=" + response.getBizId());
        } catch (ClientException e) {
          e.printStackTrace();
        }
      }
    }

原文地址:https://www.cnblogs.com/liuxuelin/p/9973511.html

时间: 2024-10-07 14:34:36

spring boot 的基本使用和短信微服务的搭建的相关文章

c#简单易用的短信发送服务 悠逸企业短信服务

 悠逸企业短信发送服务,是一种比较简单易操作的短信发送服务,使用POST的方式,请求相应地址就可以实现短信发送功能 1 /// <summary> 2 /// 短信发送服务 3 /// </summary> 4 public class ShortMsgHelper 5 { 6 /// <summary> 7 /// 短信服务 账号 8 /// </summary> 9 private static string uid = ConfigurationMan

短信API服务

短信API服务  短信服务是由haoservice提供的综合性短信服务,通过该服务您可以给指定的手机发短信 http://www.haoservice.com/docs/17 请求参数:   名称 类型 必填 说明   key string 是 API KEY   mobile String 是 接收短信的手机号码   tpl_id Int 是 短信模板ID,请参考个人中心短信模板设置   tpl_value String 是 变量名和变量值对.如果你的变量名或者变量值中带有#&=中的任意一个特

短信api服务接口

短信api服务 北京畅游互联科技有限公司  http://www.haoservice.com/docs/17 短信api服务可以把写好的短信模板一次发给多个指定手机号码. 短信接口:URL: http://apis.haoservice.com/sms/send 支持格式:json http请求方式:GET/POST 参数说明: 名称 类型 必填 说明 mobile string 是 接收短信的手机号码 tpl_id int 是 短信模板ID,请参考个人中心短信模板设置 tpl_value s

4、下行短信发送WebService、下行短信发送服务 -功能详细设计 --短信平台

3.  下行短信发送WebService 开发一个WebService,供第三方系统调用,用于发送短信.WebService接收数据后,将信息存储入数据库的短信发送数据表中. WebService参数包括:应用标识.手机号码(字符串数组类型).短信内容.扩展码(3-8位数字).优先级(数字1至5).定时发送时间(可null为即时发送).发送人ID(内部机构人员管理系统的ID).发送人全路径. 同时开发另一个WebService,与原有旧系统接口完全相同,用于调用旧短信平台的第三方系统无缝切换到新

一招搞定短信验证码服务不稳定

本文来自网易云社区 当然,一句话讲完或许显得本盾不够专业,接下来想仔细了解此问题的盾友们,请听我细细道来. 短信验证码不稳定,会出现短信接收延时甚至无法收到的情况,用户很捉急,后果很严重.验证码不稳定多是对接的短信验证码服务商的通道质量低所导致,正规的服务商需要有相关的业务经营许可证,ISO9001认证.相关的公司证件等. 要解决不稳定的问题,需要以下几步: 1.在选择服务商时,确认服务商资质.是否能提供专业的短信验证码服务?服务是否正规?资质是否齐全?(如信部备份的增值电信业务许可证.码号证.

Spring Boot 项目实战(一)Maven 多模块项目搭建

Maven父项目 以SpringBoot项目为例https://blog.csdn.net/weixin_30606669/article/details/99478544 Maven 多模块父子工程 (含Spring Boot示例)https://www.cnblogs.com/meitanzai/p/10945085.html https://www.cnblogs.com/orzlin/p/10330163.html 一.前言 最近公司项目准备开始重构,框架选定为 Spring Boot

宜信微服务任务调度平台建设实践|分享实录

本文主要围绕SIA平台展开,包括研发背景设计思路和技术架构,以及如何支持业务方. 内容来源:宜信技术学院第4期技术沙龙-线上直播|宜信微服务任务调度平台建设实践 主讲人:宜信高级架构师&开发平台负责人 梁鑫 导读:如今,无论是互联网应用还是企业级应用,都充斥着大量的批处理任务,常常需要一些任务调度系统帮助我们解决问题.随着微服务化架构的逐步演进,单体架构逐渐演变为分布式.微服务架构. 在此背景下,很多之前的任务调度平台已经不能满足业务系统的需求,于是出现了一些基于分布式的任务调度平台.这些平台各

关于手机短信验证服务

浏览了一下找到三家不错的: 1)云通讯(yuntongxun.com) 感觉比较正规,文档也很全面,功能全,支持语音.短信6分每条套餐可便宜点.不过模板短信验证门槛较高,个人不能用,必须要验证为公司,速度感觉不是很理想但听说用的人多,应该会比较稳定. 2)云片网(yunpian.com) 相对于云通讯感觉略有点底气不足,不过门槛较低,可以个人使用,最低可以55的包(1000条),文档较全不过较云通讯略逊色,速度还可以,可以做条件不足时(无需企业认证)的第一选择. 3)Mob官网(mob.com)

PHP短信发送服务 youe短信企业服务

/** * 通用短信平台HTTP接口POST方式发送短信实例 * 返回字符串 * 一般情况下调用此方法 */ function postSendMessage($msgContents,$phoneListStr){ //echo $phoneListStr.'<br/>'; $ShortMSGUid='123456';//短信服务 用户名 $ShortMSGPwd='123456';//短信服务 密码 $ShortMSGSignature='[签名示例]';//短信服务 签名 //$Cust