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

做网站咸阳卓讯企业名录搜索软件

做网站咸阳,卓讯企业名录搜索软件,查工程中标信息哪个网站,wordpress注册邮箱必选目录 Spring Boot Starter项目创建 自动创建客户端 使用 Starter 使用注解开启 Starter 自动构建 使用配置开启 Starter 自动构建 配置 Starter 内容提示 Spring Boot 的便利性体现在#xff0c;它简化了很多烦琐的配置#xff0c;这对于开发人员来说是一个福音#…目录 Spring Boot Starter项目创建 自动创建客户端 使用 Starter 使用注解开启 Starter 自动构建 使用配置开启 Starter 自动构建 配置 Starter 内容提示 Spring Boot 的便利性体现在它简化了很多烦琐的配置这对于开发人员来说是一个福音通过引入各种 Spring Boot Starter 包可以快速搭建出一个项目的脚手架。 目前提供的 Spring Boot Starter 包有 spring-boot-starter-web快速构建基于 Spring mvc 的 Web 项目使用 Tomcat 做默认嵌入式容器。spring-boot-starter-data-redis操作 Redis。spring-boot-starter-data-mongodb操作 Mongodb。spring-boot-starter-data-jpa操作 Mysql。spring-boot-starter-activemq操作 Activemq。……自动配置非常方便当我们要操作 Mongodb 的时候只需要引入 spring-boot-starter-data-mongodb 的依赖然后配置 Mongodb 的链接信息 spring.data.mongodb.urimongodb//localhost/test 就可以使用 MongoTemplate 来操作数据MongoTemplate 的初始化工作全部交给 Starter 来完成。 自动配置麻烦的是当出现错误时排查问题的难度上升了。自动配置的逻辑都在 Spring Boot Starter 中要想快速定位问题就必须得了解 Spring Boot Starter 的内部原理。接下来我们自己动手来实现一个 Spring Boot Starter。 Spring Boot Starter项目创建 创建一个项目 spring-boot-starter-demopom.xml 配置代码如下所示。 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency /dependencies 创建一个配置类用于在属性文件中配置值相当于 spring.data.mongo 这种形式代码如下所示。 import org.springframework.boot.context.properties.ConfigurationProperties; import lombok.Data; Data ConfigurationProperties(spring.user) public class UserPorperties {private String name; }再定义一个 Client相当于 MongoTemplate里面定一个方法用于获取配置中的值代码如下所示。 public class UserClient {private UserPorperties userPorperties;public UserClient() {}public UserClient(UserPorperties p) {this.userPorperties p;}public String getName() {return userPorperties.getName();} } 自动创建客户端 一个最基本的 Starter 包定义好了但目前肯定是不能使用 UserClient因为我们没有自动构建 UserClient 的实例。接下来开始构建 UserClient代码如下所示。 Configuration EnableConfigurationProperties(UserPorperties.class) public class UserAutoConfigure {BeanConditionalOnProperty(prefix spring.user, value enabled, havingValue true)public UserClient userClient(UserPorperties userPorperties) {return new UserClient(userPorperties);} } Spring Boot 会默认扫描跟启动类平级的包假如我们的 Starter 跟启动类不在同一个主包下如何能让 UserAutoConfigure 生效 在 resources 下创建一个 META-INF 文件夹然后在 META-INF 文件夹中创建一个 spring.factories 文件文件中指定自动配置的类 org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.cxytiandi.demo.UserAutoConfigure Spring Boot 启动时会去读取 spring.factories 文件然后根据配置激活对应的配置类至此一个简单的 Starter 包就实现了。 使用 Starter 现在可以在其他的项目中引入这个 Starter 包代码如下所示。 dependency groupIdcom.cxytiandi/groupId artifactIdspring-boot-starter-demo/artifactId version0.0.1-SNAPSHOT/version /dependency 引入之后就直接可以使用 UserClientUserClient 在项目启动的时候已经自动初始化好代码如下所示。 RestController public class UserController {Autowired private UserClient userClient;GetMapping(/user/name) public String getUserName() { return userClient.getName(); } } 属性文件中配置 name 的值和开启 UserClient spring.user.namezhangsan spring.user.enabledtrue 访问 /user/name 就可以返回我们配置的 zhangsan。 使用注解开启 Starter 自动构建 很多时候我们不想在引入 Starter 包时就执行初始化的逻辑而是想要由用户来指定是否要开启 Starter 包的自动配置功能比如常用的 EnableAsync 这个注解就是用于开启调用方法异步执行的功能。 同样地我们也可以通过注解的方式来开启是否自动配置如果用注解的方式那么 spring.factories 就不需要编写了下面就来看一下怎么定义启用自动配置的注解代码如下所示。 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited Import({UserAutoConfigure.class}) public interface EnableUserClient {} 这段代码的核心是 Import{UserAutoConfigure.class}通过导入的方式实现把 UserAutoConfigure 实例加入 SpringIOC 容器中这样就能开启自动配置了。 使用方式就是在启动类上加上该注解代码如下所示。 SpringBootApplication public class SpringBootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } } 使用配置开启 Starter 自动构建 在某些场景下UserAutoConfigure 中会配置多个对象对于这些对象如果不想全部配置或是想让用户指定需要开启配置的时候再去构建对象这个时候我们可以通过 ConditionalOnProperty 来指定是否开启配置的功能代码如下所示。 Bean ConditionalOnProperty(prefix spring.user,value enabled,havingValue true) public UserClient userClient(UserPorperties userPorperties) { return new UserClient(userPorperties); } 通过上面的配置只有当启动类加了 EnableUserClient 并且配置文件中 spring.user.enabledtrue 的时候才会自动配置 UserClient。 配置 Starter 内容提示 在自定义 Starter 包的过程中还有一点比较重要就是对配置的内容项进行提示需要注意的是Eclipse 中是不支持提示的Spring Tools 4 for Eclipse 中可以提示。 定义提示内容需要在 META-INF 中创建一个 spring-configuration-metadata.json 文件代码如下所示。 { properties: [ { name: spring.user.name, defaultValue: cxytinadi }, { name: spring.user.enabled, type: java.lang.Boolean, defaultValue: false } ] } name配置名type配置的数据类型defaultValue默认值 上一篇《SpringCloud超级入门》Spring Boot项目搭建步骤超详细《六》 下一篇 介绍Spring Cloud Eureka是什么  相关springboot实战项目推荐 基于java ssm springbootVUE疫情防疫系统系统前后端分离设计和实现 基于java springbootmybatis电影售票网站管理系统前台后台设计和实现 基于java ssm springbootmybatis酒庄内部管理系统设计和实现 基于JAVA springbootmybatis智慧生活分享平台设计和实现 基于Java springbootvueredis前后端分离家具商城平台系统设计和实现 基于JAVA SSM springboot实现的抗疫物质信息管理系统设计和实现 查看更多首页实战项目
http://www.zqtcl.cn/news/707978/

相关文章:

  • 公司网站制作高端有什么网站可以做外贸出口信息
  • 旅游网站建设ppt自己动手制作网站
  • 做注册任务的网站有哪些seo搜索排名优化
  • 用php做网站和go做网站网站建设 完成
  • 做平面设计在那个网站上找图好网站广告出价平台
  • 网站点击率查询wordpress忘记后台账号
  • 网站怎么做全屏的网站建设报价比较表
  • 商城网站项目案例简单的明星个人网站建设论文
  • 腾讯云建网站如何利用谷歌云做自己的网站
  • 合肥网站搭建著名的网站建设公司
  • win7的iis怎么制作网站网页制作基础代码
  • 黄页网站大全免费网在线进一步优化供给推动消费平稳增长
  • dw中怎样做网站链接网页版qq登录入口账号密码
  • 外贸网站建设soho中国建设银行网站易方达消费
  • 淘宝客网站推广怎么做图文识别微信小程序是什么
  • 郑州网站建设、北京做网页公司
  • 代码错误网站wordpress主题屏蔽更新
  • 建五金方面的网站广告联盟app手机版
  • 宜宾建设网站公众号怎么制作流程
  • 上海崇明网站建设崇信县门户网站首页
  • 北京手机版建站系统开发学网页设计需要什么学历
  • 英文网站备案互联网排名前十的公司2021
  • 网站外部外链建设如何开发wordpress主题
  • 个人网站首页内容辽宁省建设网站
  • 二建证从住房建设厅网站调出流程需求分析 网站
  • 鞋子网站模板做网站开发学什么软件
  • 网站建设的需求客户中企动力科技股份有限公司招聘
  • 小程序定制 seo营销seo托管公司
  • 杭州网站设计公司联系亿企邦网站建设在电访销售话术
  • 安康网站开发公司报价网站开发人员考核