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

asp网站 证书哪个网站可以查公司注册信息

asp网站 证书,哪个网站可以查公司注册信息,最近的新闻大事10条,中国人做外贸网站都卖什么✅ 目标: 搜索模块支持不同内容类型(攻略、达人、游记等)每种搜索逻辑用一个策略类表示自动注册(基于注解 Spring 容器)新增搜索类型时,只需添加一个类 一个注解,无需改工厂、注册表等&#x…

✅ 目标:

  • 搜索模块支持不同内容类型(攻略、达人、游记等)
  • 每种搜索逻辑用一个策略类表示
  • 自动注册(基于注解 + Spring 容器)
  • 新增搜索类型时,只需添加一个类 + 一个注解,无需改工厂、注册表等!

🛠️ 技术方案:

  • Spring Boot
  • 自定义注解 @SearchType("guide") 进行标记
  • 启动时由 Spring 自动扫描并注册到 Map<String, SearchStrategy>

📁 项目结构如下(Spring Boot)

search-system-springboot/
├── SearchSystemApplication.java
├── annotation/
│   └── SearchType.java
├── strategy/
│   ├── SearchStrategy.java
│   ├── GuideSearch.java
│   ├── ExpertSearch.java
│   ├── TravelNoteSearch.java
│   └── SearchStrategyFactory.java
└── controller/└── SearchController.java

✅ 关键文件内容如下:


🔹 SearchStrategy.java(策略接口)

package strategy;public interface SearchStrategy {void search(String keyword);
}

🔹 @SearchType 注解(用于标记策略类型)

package annotation;import java.lang.annotation.*;@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SearchType {String value(); // 类型名称,如 "guide"
}

🔹 SearchStrategyFactory.java(策略注册器)

package strategy;import annotation.SearchType;
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;@Component
public class SearchStrategyFactory {@Autowiredprivate ApplicationContext context;private final Map<String, SearchStrategy> strategyMap = new HashMap<>();@PostConstructpublic void init() {Map<String, Object> beans = context.getBeansWithAnnotation(SearchType.class);for (Object bean : beans.values()) {Class<?> clazz = bean.getClass();SearchType annotation = clazz.getAnnotation(SearchType.class);String type = annotation.value().toLowerCase();strategyMap.put(type, (SearchStrategy) bean);}}public SearchStrategy getStrategy(String type) {SearchStrategy strategy = strategyMap.get(type.toLowerCase());if (strategy == null) {throw new IllegalArgumentException("不支持的搜索类型: " + type);}return strategy;}
}

🔹 示例策略类 GuideSearch.java

package strategy;import annotation.SearchType;
import org.springframework.stereotype.Component;@Component
@SearchType("guide")
public class GuideSearch implements SearchStrategy {public void search(String keyword) {System.out.println("搜索攻略:" + keyword);}
}

🔹 示例策略类 ExpertSearch.java

package strategy;import annotation.SearchType;
import org.springframework.stereotype.Component;@Component
@SearchType("expert")
public class ExpertSearch implements SearchStrategy {public void search(String keyword) {System.out.println("搜索达人:" + keyword);}
}

🔹 控制器 SearchController.java

package controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import strategy.SearchStrategy;
import strategy.SearchStrategyFactory;@RestController
@RequestMapping("/search")
public class SearchController {@Autowiredprivate SearchStrategyFactory factory;@GetMappingpublic String search(@RequestParam String type, @RequestParam String keyword) {SearchStrategy strategy = factory.getStrategy(type);strategy.search(keyword);return "搜索成功:" + type + " -> " + keyword;}
}

🔹 启动类 SearchSystemApplication.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SearchSystemApplication {public static void main(String[] args) {SpringApplication.run(SearchSystemApplication.class, args);}
}

✅ 如何运行:

  1. 新建 Spring Boot 项目(Maven/Gradle 都可以)
  2. 创建上述包和类(annotationstrategycontroller
  3. 启动项目后访问:
http://localhost:8080/search?type=guide&keyword=台北夜市

输出:

搜索攻略:台北夜市

🚀 如何新增一个搜索类型?

比如新增 TravelNoteSearch

@Component
@SearchType("travelnote")
public class TravelNoteSearch implements SearchStrategy {public void search(String keyword) {System.out.println("搜索游记:" + keyword);}
}

就完事了,无需改动任何已有类!开闭原则 ✔️


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

相关文章:

  • 仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板磁力吧
  • 湖北长欣建设有限公司网站怎么知道网站是哪个公司做的
  • 怎么优化网站关键词排名范县网站建设
  • 阿里云网站搭建服务器如何配置php网站
  • 模板网站建设清单网站应该怎么建设
  • 泰安网站建设dxkjw网络搭建安全分析
  • 网站的死链微信小程序商城怎样做
  • 青岛模板做网站网站建设企业官网体验版是什么
  • 郑州哪里做网站汉狮wordpress卸载重装
  • 网站建设 域名 空间注册个体可以做网站吗
  • 网站东莞优化建设wordpress更新定位插件
  • 网站抄袭国内最知名的包装设计公司
  • 网站建设能有多大访问量网站做任务赚佣金
  • 海南网站制作公司地信的网站建设
  • 班级网站建设的系统概述视觉设计图
  • 网站头部怎样做有气势怎么推广我的网站
  • 大型网站集群怎么做vs 网站项目
  • 做旅游网站的要求广州公司注册需要什么条件
  • 长沙找人做网站开发应用
  • 衡水网站建设知识网站网页模板
  • 丹阳网站建设怎么样品牌网站建设意义
  • 企业网站建设如何选择网络公司淘宝网站建设的目标是什么意思
  • 金华网站建设行业河南省新闻头条最新消息
  • 一个专门做特卖的网站衡水注册公司
  • 可直接进入正能量网站深圳出台多个利好政策
  • 电热设备网站建设久久建筑网如何下载资源
  • 平面设计软件大全免费seo网站的优化流程
  • 网站设计文章五华网站建设 优帮云
  • pc端网站wordpress 修改版本号
  • 官方网站怎么注册wordpress媒体库只能列表