当前位置: 首页 > wzjs >正文

高端网站建设公司价格sem竞价托管代运营

高端网站建设公司价格,sem竞价托管代运营,做网站赚钱一般做什么,网址导航网站一键建设目录 一、Starter机制 1. 是什么 2. 有什么用 3. 应用场景 二、短信发送案例 1. 创建 2. 配置 3. 编写 4. 形成依赖 6. 其他项目的使用 每篇一获 一、Starter机制 1. 是什么 SpringBoot中的starter是一种非常重要的机制(自动化配置),能够抛弃以前繁杂…

目录

一、Starter机制

1. 是什么

2. 有什么用

3. 应用场景

二、短信发送案例

1. 创建

2. 配置 

3. 编写 

4. 形成依赖

6. 其他项目的使用

每篇一获


一、Starter机制

1. 是什么

SpringBoot中的starter是一种非常重要的机制(自动化配置),能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。

SpringBoot中的starter也可以说是一种用于简化依赖管理和配置的工具。它们是一组预先配置好的依赖项和自动配置的模块,可以帮助开发人员快速地构建和部署SpringBoot应用程序。starter通常包含了所需的依赖项、自动配置和其他必要的设置,使开发人员可以更轻松地开始开发应用程序,而不必担心繁琐的配置和依赖项管理。SpringBoot提供了许多官方和第三方的starter,涵盖了各种不同的功能和需求,开发人员可以根据自己的需求选择合适的starter来加速应用程序的开发和部署过程。

2. 有什么用

在项目开发中使用SpringBoot Starter有以下几个好处:

1. 简化配置:SpringBoot Starter包含了一组预先配置好的依赖项和自动配置,可以帮助开发人员快速地构建和部署SpringBoot应用程序,减少了繁琐的配置工作。

2. 提高开发效率:使用SpringBoot Starter可以减少开发人员在配置和依赖项管理上的时间和精力,使开发人员可以更专注于业务逻辑的实现,从而提高开发效率。

3. 统一依赖管理:SpringBoot Starter可以帮助开发人员统一管理项目中的依赖项,避免因为版本冲突或者配置错误而导致的问题,简化了项目的依赖管理。

4. 提供标准化的配置:SpringBoot Starter提供了一种标准化的配置方式,使得不同的开发团队可以更容易地理解和维护项目的配置,降低了项目的维护成本。

总之,使用SpringBoot Starter可以帮助开发人员简化项目的配置和依赖管理,提高开发效率,降低项目的维护成本,是项目开发中的一个很好的选择。

3. 应用场景

在我们的日常开发工作中,可能会需要开发一个通用模块,以供其它工程复用。SpringBoot就为我们提供这样的功能机制,我们可以把我们的通用模块封装成一个个starter,这样其它工程复用的时候只需要在pom中引用依赖即可,由SpringBoot为我们完成自动装配。

常见应用场景

1)通用模块-短信发送模块

2)基于AOP技术实现日志切面

3)分布式雪花ID,Long转String,解决精度问题

4)微服务项目的数据库连接池配置

5)微服务项目的每个模块都要访问redis数据库,每个模块都要配置redisTemplat

在日常开发工作中,常见的应用场景包括但不限于:

  1. Web应用开发:开发基于Web的应用程序,包括前端和后端开发,使用各种框架和技术栈进行开发。

  2. 数据库开发:设计和维护数据库,编写SQL查询和存储过程,进行数据库优化和性能调优。

  3. API开发:设计和开发RESTful API或GraphQL API,用于不同系统之间的数据交换和通信。

  4. 移动应用开发:开发iOS和Android应用程序,使用Swift、Kotlin、React Native等技术进行开发。

  5. 容器化和微服务:使用Docker、Kubernetes等技术进行应用的容器化和微服务化,实现应用的高可用和可扩展性。

  6. 云平台开发:在云平台上进行开发,包括AWS、Azure、Google Cloud等,利用云服务进行应用部署和管理。

  7. DevOps实践:实施持续集成、持续交付和持续部署,自动化测试和部署流程,提高开发和部署效率。

  8. 数据分析和人工智能:开发数据分析和人工智能应用,使用机器学习、深度学习等技术解决实际问题。

  9. 物联网应用开发:开发连接物联网设备的应用程序,处理传感器数据和控制设备。

  10. 安全和隐私保护:实施应用安全和隐私保护措施,包括身份认证、授权、数据加密等。

这些应用场景涵盖了软件开发的各个方面,开发人员根据具体项目需求和技术栈选择相应的开发方式和工具。

二、短信发送案例

1. 创建

新建一个Starter(启动项)的SpringBoot项目,创建如图 :

其中Starter(启动项)的SpringBoot项目的工件名命名规范

  • SpringBoot官方命名方式:

  • spring-boot-starter-{模块名}

   例如:spring-boot-starter-web

  • 自定义命名方式:

  • {模块名}-spring-boot-starter

    例如:mystarter-spring-boot-starter 

选择如图中的两项即可。

创建完成之后,就直接修改maven设置,设置为自己的本地仓库,将maven引进项目中。 

2. 配置 

将application.properties的文件换成.yml后缀的文件

所用的依赖,pom.xml 中引入

将其中的

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

依赖修改为以下依赖 (去掉其中的[ -web ])

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

starter项目和SpringBoot工程结构没有什么区别。必须引入的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional>
</dependency>

pom.xml 所有依赖

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.CloudJun.depend</groupId><artifactId>sms-spring-boot-start</artifactId><version>0.0.1-SNAPSHOT</version><name>depend</name><description>depend</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.7.6</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!--starter项目的依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.cloudjun.depend.DependApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

starter项目中 application.yml 配置文件的配置如下 : 

#server:
#    port: 8080
sms:key: 2000secret: 2023enable: true

3. 编写 

创建 SmsProperties 短信配置类

package com.cloudjun.depend;import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/*** @author CloudJun* @create  2023-12-14 17:55*/
@Data
//@Component定义组件,交给spring进行管理
//@Component
//prefix = "sms"定义配置文件前缀,如果在yml文件中有sms前缀将进行匹配获取
@ConfigurationProperties(prefix = "sms")
public class SmsProperties {@Value("${sms.key}")private  String key;//应用标识@Value("${sms.secret}")private  String secret; //应用密钥private  String enable; //是否启用}

创建 ISmsService 接口

package com.cloudjun.depend.service;public interface ISmsService {/*** 发送短信* @param phone        要发送的手机号* @param data         要发送的内容*/void send(String phone, String data);}

实现接口  SmsServiceImpl

package com.cloudjun.depend.service;import com.cloudjun.depend.SmsProperties;public class SmsServiceImpl implements ISmsService {private SmsProperties smsProperties; //nullpublic SmsServiceImpl(SmsProperties smsProperties) {this.smsProperties=smsProperties;}@Overridepublic void send(String phone, String data) {String key = smsProperties.getKey();String secret = smsProperties.getSecret();System.out.println("接入短信系统,Key=" + key + ",Secret=" + secret);System.out.println("短信发送,phone=" + phone + ",data=" + data);}}

创建一个控制类 SmsConfig    ,service是否加载到spring里面去,(true)加载就使用这个依赖项目,(false)不加载就不使用这个依赖项目

package com.cloudjun.depend;import com.cloudjun.depend.service.ISmsService;
import com.cloudjun.depend.service.SmsServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration  //表明当前类是一个配置类
@EnableConfigurationProperties({SmsProperties.class})//开启配置加载,加载指定的SmsProperties.class
//添加一个条件  (prefix):匹配.yml文件中sms前缀的 (name): 属性enable的 (havingValue): 值 true 为开启配置加载 false 为禁用配置加载
@ConditionalOnProperty(prefix = "sms",name = "enable",havingValue = "true")
public class SmsConfig {//控制当前的service是否加载到spring里面去@Autowiredprivate SmsProperties smsProperties;@Bean //该@Bean注解在方法上,表示该方法在spring运行的时候自动执行该方法,如有返回值,会被放到spring的容器中public ISmsService smsService(){return new SmsServiceImpl(smsProperties);}}

在resources下新建META-INF文件夹,然后创建spring.factories文件;

在该文件中加入如下配置,该配置指定上步骤中定义的配置类为自动装配的配置:

 配置指定的配置类

org.springframework.boot.autoconfigure.EnableAutoConfiguration
=com.cloudjun.depend.SmsConfig

在测试类中进行测试 DependApplicationTests

package com.cloudjun.depend;import com.cloudjun.depend.service.ISmsService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class DependApplicationTests {@Autowiredprivate SmsProperties smsProperties;@Autowiredprivate ISmsService iSmsService;@Testvoid contextLoads() {iSmsService.send("158","IKUN");}}

执行方法

展示的结果为 : 

4. 形成依赖

将完成好的Starter项目安装下载成依赖,操作如图 : 

在右侧点击Maven,打开生命周期,双击执行install

找到我们的Maven本地仓库的路径,在按照项目的组名进行查找,这个依赖是否已经完成。

在pom.xml文件中可以查询组名 : 

查询如图,有生成的依赖即可。

6. 其他项目的使用

我们在打开一个项目,在项目中增加这个依赖就可以使用短信发送的项目了

在新打开的项目中增加引用短信发送的项目的依赖

       <dependency><groupId>com.CloudJun.depend</groupId><artifactId>sms-spring-boot-start</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

这里的引用是短信发送的项目中pom.xml文件中对应的groupId,artifactId,version

并且在新打开的项目中,找到.yml文件,增加配置

#定义应用
sms:key: 2000 #标识secret: 2023 #密钥enable: true #true 启用 false 禁用

在新打开的项目中,进行测试使用

每篇一获

学习以上这些技术可以为我们带来很多收获,包括但不限于:

1. 扩展技术视野:学习不同的技术和工具可以帮助我们拓宽技术视野,了解不同领域的发展趋势和最佳实践。

2. 提升解决问题的能力:掌握多种技术和工具可以帮助我们更好地解决复杂的问题,选择合适的技术栈和解决方案。

3. 增强适应能力:学习多种技术可以增强我们的适应能力,更快速地适应新的工作环境和项目需求。

4. 提高职业竞争力:掌握多种技术和工具可以提高我们在职场上的竞争力,更容易找到理想的工作机会。

5. 促进跨团队合作:了解多种技术可以更好地与其他团队成员合作,促进跨团队的协作和沟通。

6. 增加创新思维:学习多种技术可以激发我们的创新思维,帮助我们更好地解决问题和提出新的解决方案。

总之,学习多种技术可以为我们带来丰富的收获,有助于提升个人能力和职业发展。

http://www.dtcms.com/wzjs/489448.html

相关文章:

  • gta房产网站建设中seo实战技巧100例
  • 台州做网站最好的seo外链推广工具下载
  • 微网站 布局运营seo是什么意思
  • 网站 建设 开发 协议网络营销是学什么的
  • 旅游网站开发报价单有别人的交易链接怎么交易
  • 卖鞋子网站建设策划书网站seo优化排名
  • 揭阳网页制作公司重庆小潘seo
  • asp转换手机网站搜狗站长平台主动提交
  • 免费的创建个人网站如何制作网页链接
  • 做微博推广的网站长春seo网站排名
  • 自己的网站什么做优化广东病毒感染最新消息
  • 网站建设方案进行工期安排亚马逊seo推广
  • 需要服务器的网站新闻热搜榜 今日热点
  • 免费的在线学习网站新闻联播今日新闻
  • 深圳做微商网站公司微信广告推广如何收费
  • 如何看网站关键词百度app内打开
  • 河南省濮阳市建设局网站宽带业务如何推广
  • 黄骅做网站_黄骅昊信科技|黄骅网站|黄骅网站开发|黄骅微信|黄骅网络营销策划需要包括哪些内容
  • 广州做网站价格成都网站seo收费标准
  • 山楼小院在哪家网站做宣传网站运营一个月多少钱
  • 网站域名备案证书产品营销策划方案
  • 江西网站建设开发广州aso优化公司 有限公司
  • 漳州建设局网站首页市场调研方法
  • 北京网站制作推广手机百度一下
  • 适合个人做的网站有哪些东西吗seo是什么职位简称
  • 昆山哪里做网站好西安网红
  • 苹果手机做电影网站有哪些seo外贸推广
  • 朔州怀仁网站建设关键词的优化方案
  • 辽宁大学网站怎么做泉州关键词排名工具
  • 建设通相似的网站seo优化包括哪些内容