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

网站改版 优势无线路由器做中继手机能连接但无法访问网站

网站改版 优势,无线路由器做中继手机能连接但无法访问网站,威海网络推广公司哪家好,卖小程序赚钱吗springboot bean 在 Spring Boot 中#xff0c;Bean 是 Spring 框架的核心概念之一#xff0c;表示由 Spring 容器管理的对象。通过 Bean 或其他注解#xff08;如 Component、Service、Repository 等#xff09;来定义和管理这些对象。以下是关于 Spring Boot 中 Bean 的…springboot bean 在 Spring Boot 中Bean 是 Spring 框架的核心概念之一表示由 Spring 容器管理的对象。通过 Bean 或其他注解如 Component、Service、Repository 等来定义和管理这些对象。以下是关于 Spring Boot 中 Bean 的详细说明 1. 什么是 Spring Bean Spring Bean 是由 Spring IoCInversion of Control控制反转容器实例化、组装和管理的对象。Bean 的生命周期由 Spring 容器控制开发者无需手动创建或销毁对象。Bean 通常用于实现应用程序中的业务逻辑、数据访问、配置等功能。 2. 定义 Bean 的方式 (注册 Bean 的方式) 常用的 Bean 注解 // 通用组件注解 Component // 三个衍生注解 Controller // 标注控制层组件 Service // 标注业务层组件 Repository // 标注数据访问层组件 // 配置类相关 Configuration // 标注配置类 Bean // 方法级别的注解声明一个Bean 1通过 Bean 注解 使用 Bean 注解可以在配置类中显式定义一个 Bean。配置类通常使用 Configuration 注解标注。 示例 Configuration public class AppConfig {Beanpublic MyService myService() {return new MyService();} }Bean 方法的返回值会被注册为 Spring 容器中的一个 Bean。Bean 的默认名称是方法名如上例中Bean 名称为 myService。 2通过组件扫描Component、Service 等 使用 Component 或其派生注解如 Service、Repository、Controller可以自动将类注册为 Bean。需要在主类或配置类上添加 ComponentScanSpring Boot 默认会扫描主类所在包及其子包。 示例 Component public class MyComponent {public void doSomething() {System.out.println(Doing something...);} }Service用于标注服务层组件。Repository用于标注数据访问层组件。Controller用于标注控制器层组件。 3通过 Import 注解 使用 Import 可以将其他配置类或组件引入到当前配置中。 示例 Import(AppConfig.class) Configuration public class MainConfig {// 引入 AppConfig 中定义的 Bean }3. 注入 Bean (依赖注入方式) Spring 提供了多种方式将 Bean 注入到其他组件中 1构造器注入推荐 使用构造器注入可以确保依赖在对象创建时就被注入适合用于不可变对象。 示例 Component public class MyController {private final MyService myService;public MyController(MyService myService) {this.myService myService;} }2字段注入 使用 Autowired 注解直接注入到字段中。 示例 Component public class MyController {Autowiredprivate MyService myService; }3Setter 方法注入 使用 Autowired 注解标注在 Setter 方法上。 示例 Component public class MyController {private MyService myService;Autowiredpublic void setMyService(MyService myService) {this.myService myService;} }4. Bean 的作用域 Spring 提供了多种作用域Scope来控制 Bean 的生命周期 Singleton默认整个应用上下文中只有一个实例。Prototype每次请求都会创建一个新的实例。Request每个 HTTP 请求创建一个实例仅适用于 Web 应用。Session每个 HTTP 会话创建一个实例仅适用于 Web 应用。Application整个 ServletContext 中只有一个实例。 示例 Scope(singleton) // 默认单例 Scope(prototype) // 原型每次获取都创建新实例 Scope(request) // 每个请求一个实例 Scope(session) // 每个会话一个实例Bean Scope(prototype) public MyService myService() {return new MyService(); }5. Bean 的生命周期 Spring Bean 的生命周期包括以下几个阶段 实例化Spring 容器创建 Bean 实例。依赖注入注入 Bean 的依赖。初始化调用 PostConstruct 或 InitializingBean 的 afterPropertiesSet() 方法。销毁调用 PreDestroy 或 DisposableBean 的 destroy() 方法。 示例 Component public class MyService {PostConstructpublic void init() {System.out.println(Bean 初始化);}PreDestroypublic void destroy() {System.out.println(Bean 销毁);} }6. 自定义 Bean 的初始化和销毁方法 可以通过 Bean 注解的 initMethod 和 destroyMethod 属性指定自定义方法 示例 Bean(initMethod customInit, destroyMethod customDestroy) public MyService myService() {return new MyService(); }7. 条件化 Bean 定义 (条件化装配) 使用 Conditional 或 ConditionalOn... 注解可以根据条件加载 Bean。 示例 ConditionalOnClass(name org.springframework.data.redis.core.RedisTemplate) ConditionalOnProperty(prefix spring.redis, name enabled, havingValue true) ConditionalOnBean(type org.springframework.data.redis.connection.RedisConnectionFactory)Bean ConditionalOnProperty(name my.feature.enabled, havingValue true) public MyService myService() {return new MyService(); }总结 Spring Boot 中的 Bean 是应用程序的核心组件主要通过以下方式定义和管理 使用 Bean 显式定义。使用 Component 或其派生注解自动扫描。配置作用域、生命周期和条件化加载。 通过 Spring 的 IoC 容器开发者可以轻松实现依赖注入和组件管理从而提高代码的可维护性和扩展性。 需要注意的最佳实践 优先使用构造器注入它可以保证依赖不可变且必须被注入使用 Component 注解时确保组件被 ComponentScan 扫描到合理使用作用域大多数情况下使用默认的单例模式即可注意循环依赖问题尽量通过良好的设计来避免使用 Qualifier 或 Primary 来解决多个相同类型 Bean 的注入问题 ejb bean EJBEnterprise JavaBeans 是 Java EE现 Jakarta EE规范的一部分用于构建企业级分布式应用程序。EJB 提供了事务管理、安全性、并发控制和远程调用等功能。EJB Bean 是由 EJB 容器管理的组件主要用于实现业务逻辑。 以下是关于 EJB Bean 的详细介绍 1. EJB 的类型 EJB 分为以下三种主要类型 1Session Bean 用途用于实现业务逻辑。分类 Stateless无状态不维护客户端的状态每次调用都是独立的。可以减少资源占用,并提供良好的服务端处理性能,是EJB在实际开发中最为常用的一种组件。Stateful有状态维护客户端的状态适合需要会话的场景。保存每一个客户端的状态信息,会造成极大的服务器资源占用。Singleton整个应用中只有一个实例适合共享资源的场景。 2Message-Driven BeanMDB 用途用于处理异步消息通常通过 JMS。提供异构数据平台的整合处理,采用消息的异步处理机制提供数据交互,基于JMS服务标准构建(Apache 提供的ActiveMQ组件也是基于JMS服务标准实现的)。特点不直接与客户端交互而是通过消息队列接收消息。 3Entity Bean已被 JPA 替代 用途用于表示数据库中的数据。持久化状态处理的对象,可以提供关系数据库的操作,有两种实现类型。 CMP (Container Managed Persistence,容器管理持久化):由开发者定义数据接口标准,随后由容器生成相应的数据库操作代码,由于不需要直接编写代码,所以有较强的数据库可移植性。Hibernate 开发框架就是模拟CMP技术理论实现的。BMP (Bean Managed Persistence, Bean 管理持久化):开发者除了要定义数据接口标准之外,还需要通过JDBC技术标准编写数据接口的实现子类,程序的可移植性不强。 现状从 EJB 3.0 开始Entity Bean 被 JPAJava Persistence API取代。 EJB 是一个完全独立的组件,可以通过Web 容器或者通过 CORBA 协议 RMI标准 实现远程调用。所有的调用全部由会话 Bean 负责处理(需要暴露远程接口),随后会依据不同的业务处理需要实现实体 Bean 的调用(本地接口)。每一个实体 Bean 都会与数据源中的数据表进行结构映射,操作实体Bean 接口时就可以实现数据表数据的操作 1。 2. Session Bean 的实现 1Stateless Bean无状态 Bean 无状态 Bean 不会保存客户端的状态每次调用都是独立的。 示例 import jakarta.ejb.Stateless;Stateless public class StatelessBean {public String sayHello(String name) {return Hello, name;} }2Stateful Bean有状态 Bean 有状态 Bean 会保存客户端的状态适合需要会话的场景。 示例 import jakarta.ejb.Stateful;Stateful public class StatefulBean {private int count 0;public void increment() {count;}public int getCount() {return count;} }3Singleton Bean Singleton Bean 在整个应用中只有一个实例适合共享资源的场景。 示例 import jakarta.ejb.Singleton;Singleton public class SingletonBean {private int count 0;public void increment() {count;}public int getCount() {return count;} }3. Message-Driven BeanMDB Message-Driven Bean 用于处理异步消息通常与 JMSJava Message Service结合使用。 示例 import jakarta.ejb.ActivationConfigProperty; import jakarta.ejb.MessageDriven; import jakarta.jms.Message; import jakarta.jms.MessageListener;MessageDriven(activationConfig {ActivationConfigProperty(propertyName destinationType, propertyValue jakarta.jms.Queue),ActivationConfigProperty(propertyName destination, propertyValue java:/jms/queue/MyQueue) }) public class MyMessageDrivenBean implements MessageListener {Overridepublic void onMessage(Message message) {// 处理消息System.out.println(Received message: message);} }4. EJB 的注入 EJB 可以通过以下方式注入到其他组件中 1通过 EJB 注解 用于注入 EJB。 示例 import jakarta.ejb.EJB; import jakarta.ejb.Stateless;Stateless public class MyService {EJBprivate StatelessBean statelessBean;public void execute() {System.out.println(statelessBean.sayHello(World));} }2通过 JNDI 查找 使用 JNDIJava Naming and Directory Interface手动查找 EJB。 示例 import jakarta.naming.InitialContext;public class Client {public static void main(String[] args) throws Exception {InitialContext ctx new InitialContext();StatelessBean bean (StatelessBean) ctx.lookup(java:global/myapp/StatelessBean);System.out.println(bean.sayHello(World));} }5. EJB 的事务管理 EJB 提供了内置的事务管理开发者可以通过注解声明事务行为。 1默认事务管理 默认情况下EJB 方法会自动参与事务。 2通过 TransactionAttribute 注解控制事务 TransactionAttribute 用于指定事务属性。 事务属性 REQUIRED默认如果当前没有事务则创建一个新事务。REQUIRES_NEW总是创建一个新事务。MANDATORY必须在已有事务中运行否则抛出异常。SUPPORTS如果有事务则参与事务如果没有事务则以非事务方式运行。NOT_SUPPORTED总是以非事务方式运行。NEVER不能在事务中运行。 示例 import jakarta.ejb.Stateless; import jakarta.ejb.TransactionAttribute; import jakarta.ejb.TransactionAttributeType;Stateless public class TransactionalBean {TransactionAttribute(TransactionAttributeType.REQUIRED)public void doSomething() {// 事务逻辑}TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)public void doSomethingElse() {// 新事务逻辑} }6. EJB 的生命周期 1Stateless Bean 的生命周期 创建由容器创建实例。调用容器从池中取出实例处理请求。销毁容器销毁实例。 2Stateful Bean 的生命周期 创建由容器创建实例。调用实例与客户端绑定处理请求。钝化当不活跃时实例可能被钝化序列化到磁盘。激活当需要时实例被激活从磁盘反序列化。销毁会话结束后实例被销毁。 3生命周期回调方法 使用以下注解定义生命周期回调方法 PostConstruct在实例化后调用。PreDestroy在销毁前调用。 示例 import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import jakarta.ejb.Stateless;Stateless public class LifecycleBean {PostConstructpublic void init() {System.out.println(Bean 初始化);}PreDestroypublic void destroy() {System.out.println(Bean 销毁);} }7. EJB 的优缺点 优点 提供了内置的事务管理、安全性和并发控制。支持分布式调用远程访问。容器管理生命周期简化开发。 缺点 相较于轻量级框架如 SpringEJB 的配置和部署较为复杂。对于简单应用来说可能显得过于重量级。 总结 EJB 是企业级 Java 应用开发的重要技术适合需要事务管理、分布式调用和高并发的场景。主要包括 Session Bean实现业务逻辑Stateless、Stateful、Singleton。Message-Driven Bean处理异步消息。事务管理通过注解声明事务行为。 尽管 EJB 功能强大但在现代开发中轻量级框架如 Spring更为流行EJB 的使用逐渐减少但在一些传统企业应用中仍然占有重要地位。了解 EJB 的概念和设计思想对于理解企业级应用架构仍然很有帮助。 springboot bean ejb bean 在 Java 企业级开发中Spring Boot Bean 和 EJB Bean 都是用于管理对象生命周期和依赖注入的核心概念但它们属于不同的技术栈适用于不同的场景。以下是对 Spring Boot Bean 和 EJB Bean 的详细对比和说明 1. Spring Boot Bean 概念 Spring Bean 是由 Spring IoC 容器管理的对象Spring Boot 是 Spring 框架的扩展简化了 Spring 应用的开发。Spring Bean 的生命周期、依赖注入和作用域由 Spring 容器控制。通过注解如 Component、Service、Repository、Bean或 XML 配置定义 Bean。 特点 轻量级适合微服务和现代应用开发。灵活性高支持多种配置方式注解、Java 配置类、XML。与 Spring 的生态系统如 Spring Data、Spring Security无缝集成。不依赖 Java EE 容器可以运行在任何 Servlet 容器如 Tomcat、Jetty或独立运行。 定义方式 1通过 Component 或其派生注解 Component public class MyComponent {public void doSomething() {System.out.println(Spring Bean: Doing something...);} }2通过 Bean 注解 Configuration public class AppConfig {Beanpublic MyService myService() {return new MyService();} }3通过 XML 配置较少使用 bean idmyService classcom.example.MyService/依赖注入 使用 Autowired、Qualifier 或构造器注入。 Component public class MyController {private final MyService myService;Autowiredpublic MyController(MyService myService) {this.myService myService;} }作用域 默认是单例singleton。其他作用域prototype、request、session、application。 2. EJB Bean 概念 EJBEnterprise JavaBeans 是 Java EE现 Jakarta EE规范的一部分用于构建企业级分布式应用程序。EJB Bean 是由 EJB 容器管理的组件提供事务管理、安全性、并发控制和远程调用等功能。适用于需要分布式事务、异步消息处理和高并发的企业级应用。 特点 重量级依赖 Java EE 容器如 WildFly、GlassFish。提供内置的事务管理、安全性和远程调用支持。适合复杂的企业级应用但配置和部署较为复杂。支持分布式调用通过 RMI 或 JNDI。 类型 1Session Bean Stateless无状态不维护客户端状态。Stateful有状态维护客户端状态。Singleton整个应用中只有一个实例。 2Message-Driven BeanMDB 用于处理异步消息通常通过 JMS。 定义方式 1Stateless Bean import jakarta.ejb.Stateless;Stateless public class StatelessBean {public String sayHello(String name) {return Hello, name;} }2Stateful Bean import jakarta.ejb.Stateful;Stateful public class StatefulBean {private int count 0;public void increment() {count;}public int getCount() {return count;} }3Message-Driven Bean import jakarta.ejb.MessageDriven; import jakarta.jms.Message; import jakarta.jms.MessageListener;MessageDriven public class MyMessageDrivenBean implements MessageListener {Overridepublic void onMessage(Message message) {System.out.println(Received message: message);} }依赖注入 使用 EJB 注解注入其他 EJB。 import jakarta.ejb.EJB; import jakarta.ejb.Stateless;Stateless public class MyService {EJBprivate StatelessBean statelessBean;public void execute() {System.out.println(statelessBean.sayHello(World));} }作用域 由 EJB 容器管理Session Bean 的作用域取决于其类型 Stateless无状态所有客户端共享实例。Stateful每个客户端有独立实例。Singleton整个应用中只有一个实例。 3. Spring Boot Bean 与 EJB Bean 的对比 特性Spring Boot BeanEJB Bean技术栈Spring FrameworkJava EEJakarta EE容器Spring IoC 容器EJB 容器轻量/重量轻量级重量级运行环境任意 Servlet 容器如 Tomcat、Jetty或独立运行Java EE 容器如 WildFly、GlassFish事务管理通过 Transactional 注解实现内置事务管理使用 TransactionAttribute远程调用需要额外配置如 REST、RPC内置支持RMI、JNDI异步消息处理通过 Spring JMS 或其他工具实现使用 Message-Driven BeanMDB依赖注入使用 Autowired 或构造器注入使用 EJB 注解作用域默认单例singleton支持多种作用域取决于 Bean 类型Stateless、Stateful 等开发复杂度简单配置灵活较复杂依赖 Java EE 容器适用场景微服务、现代 Web 应用企业级分布式应用 组件类型对比 Spring Boot Bean // 普通 Spring Bean Component public class MyComponent { }// 服务层 Bean Service public class MyService { }// 数据访问层 Bean Repository public class MyRepository { }EJB Bean // 无状态会话 Bean Stateless public class MyStatelessBean { }// 有状态会话 Bean Stateful public class MyStatefulBean { }// 单例 Bean Singleton public class MySingletonBean { }// 消息驱动 Bean MessageDriven public class MyMessageBean implements MessageListener { }依赖注入对比 Spring Boot // 构造器注入推荐 Service public class UserService {private final UserRepository userRepository;public UserService(UserRepository userRepository) {this.userRepository userRepository;} }// 字段注入 Service public class UserService {Autowiredprivate UserRepository userRepository; }EJB // EJB 注入 Stateless public class UserService {EJBprivate UserRepository userRepository; }// 资源注入 Stateless public class UserService {Resourceprivate UserRepository userRepository; }事务管理对比 Spring Boot Service public class UserService {Transactionalpublic void saveUser(User user) {// 事务处理}Transactional(propagation Propagation.REQUIRES_NEW)public void updateUser(User user) {// 新事务处理} }EJB Stateless public class UserService {TransactionAttribute(TransactionAttributeType.REQUIRED)public void saveUser(User user) {// 事务处理}TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)public void updateUser(User user) {// 新事务处理} }生命周期管理对比 Spring Boot Component public class MyBean {PostConstructpublic void init() {// 初始化逻辑}PreDestroypublic void destroy() {// 清理逻辑} }EJB Stateless public class MyEjb {PostConstructpublic void init() {// 初始化逻辑}PreDestroypublic void destroy() {// 清理逻辑} }4. 选择建议 使用 Spring Boot Bean 如果你正在开发现代化的微服务或 Web 应用。如果你需要轻量级框架且不依赖 Java EE 容器。如果你需要灵活的配置和快速开发。 使用 EJB Bean 如果你需要分布式事务管理和远程调用。如果你需要处理异步消息如 JMS。如果你的应用运行在 Java EE 容器中且需要使用其内置功能。 总结 Spring Boot Bean 更适合现代化、轻量级的开发场景尤其是微服务架构。EJB Bean 更适合传统的企业级应用尤其是需要分布式事务和远程调用的场景。 两者的选择取决于项目需求和运行环境。如果是新项目Spring Boot 通常是更好的选择如果是维护传统 Java EE 应用EJB 可能仍然是必要的。 web service平台 Web Service 平台 是用于开发、部署和运行 Web 服务的技术框架或工具集。Web 服务是一种基于标准协议如 HTTP、SOAP、REST 等实现的分布式系统通信方式允许不同平台和语言的应用程序互相交互。 以下是关于 Web Service 平台的详细介绍包括常见平台、技术栈和选择建议。 1. Web Service 的类型 在讨论 Web Service 平台之前先了解 Web 服务的主要类型 1SOAP Web Service 基于 SOAPSimple Object Access Protocol 协议。使用 XML 格式传输数据。依赖 WSDLWeb Services Description Language描述服务接口。适合需要严格规范、复杂事务和安全性的场景。 2RESTful Web Service 基于 RESTRepresentational State Transfer 架构风格。使用 HTTP 协议支持 JSON、XML 等多种数据格式。轻量级适合现代 Web 和移动应用开发。 3GraphQL 一种查询语言允许客户端灵活地请求所需的数据。提供更高的查询效率适合复杂数据交互的场景。 2. 常见的 Web Service 平台 以下是一些主流的 Web Service 平台和框架 1Java 平台 Java 提供了丰富的工具和框架来开发 Web 服务 1.1 JAX-WSJava API for XML Web Services 用于开发基于 SOAP 的 Web 服务。是 Java EE现 Jakarta EE规范的一部分。支持 WSDL 和 XML Schema。示例WebService public class HelloService {public String sayHello(String name) {return Hello, name;} }1.2 JAX-RSJava API for RESTful Web Services 用于开发基于 REST 的 Web 服务。常见实现Jersey、RESTEasy。示例Path(/hello) public class HelloService {GETProduces(MediaType.TEXT_PLAIN)public String sayHello() {return Hello, World!;} }1.3 Spring Boot 提供了对 RESTful Web 服务的强大支持。通过 RestController 和 RequestMapping 快速开发 REST API。示例RestController RequestMapping(/api) public class HelloController {GetMapping(/hello)public String sayHello() {return Hello, Spring Boot!;} }2.NET 平台 ASP.NET Web API用于开发 RESTful Web 服务。WCFWindows Communication Foundation用于开发 SOAP Web 服务。ASP.NET Core跨平台框架支持 RESTful API 和 gRPC。 示例ASP.NET Core REST API [ApiController] [Route(api/[controller])] public class HelloController : ControllerBase {[HttpGet]public string Get() {return Hello, .NET Core!;} }3Python 平台 Python 提供了多种框架来开发 Web 服务 3.1 Flask 轻量级框架适合快速开发 RESTful API。示例from flask import Flaskapp Flask(__name__)app.route(/hello, methods[GET]) def hello():return Hello, Flask!3.2 Django REST Framework 基于 Django 的强大 REST API 框架。提供了丰富的功能如认证、序列化和分页。 3.3 FastAPI 新兴框架支持异步编程性能优越。示例from fastapi import FastAPIapp FastAPI()app.get(/hello) def read_root():return {message: Hello, FastAPI!}4JavaScript 平台 JavaScriptNode.js是开发 Web 服务的热门选择 4.1 Express.js 轻量级框架适合快速开发 RESTful API。示例const express require(express); const app express();app.get(/hello, (req, res) {res.send(Hello, Express!); });app.listen(3000, () console.log(Server running on port 3000));4.2 NestJS 基于 TypeScript 的框架适合构建复杂的企业级应用。提供模块化架构和内置支持的 GraphQL。 5PHP 平台 PHP 也可以用于开发 Web 服务 5.1 Laravel 提供了强大的 REST API 支持。示例Route::get(/hello, function () {return response()-json([message Hello, Laravel!]); });5.2 Lumen Laravel 的轻量级版本适合微服务开发。 6其他平台 6.1 Ruby on Rails 提供了内置的 RESTful API 支持。示例class HelloController ApplicationControllerdef indexrender json: { message: Hello, Rails! }end end6.2 GoGolang 使用框架如 Gin 或 Echo 开发高性能 REST API。示例Ginpackage mainimport github.com/gin-gonic/ginfunc main() {r : gin.Default()r.GET(/hello, func(c *gin.Context) {c.JSON(200, gin.H{message: Hello, Gin!})})r.Run() }6.3 gRPC 基于 HTTP/2 的高性能 RPC 框架支持多种语言。适合需要高效通信的微服务架构。 3. 选择 Web Service 平台的建议 根据服务类型选择 SOAP Web Service 需要严格的协议和安全性如银行、保险系统。推荐使用 JAX-WS 或 WCF。 RESTful Web Service 轻量级、灵活性高适合现代 Web 和移动应用。推荐使用 Spring Boot、Flask、Express.js 等。 GraphQL 数据查询复杂、需要高效通信的场景。推荐使用 Apollo Server、NestJS 或 Spring GraphQL。 根据语言和技术栈选择 JavaSpring BootREST、JAX-WSSOAP。PythonFlask、FastAPI。JavaScriptExpress.js、NestJS。.NETASP.NET Core。GoGin、Echo。 根据性能需求选择 高性能场景gRPC、FastAPI、GoGin。标准性能Spring Boot、Express.js、Django REST Framework。 4. 总结 Web Service 平台的选择取决于项目需求、团队技术栈和服务类型 轻量级 RESTful APISpring Boot、Flask、Express.js。复杂企业级应用Spring Boot、ASP.NET Core、NestJS。高性能微服务gRPC、FastAPI、Go。传统 SOAP 服务JAX-WS、WCF。 现代开发中RESTful Web Service 是主流选择而 GraphQL 和 gRPC 正在逐渐流行适合需要高效数据交互的场景。 参考: Spring Cloud 开发实战 ↩︎
http://www.hkea.cn/news/14395596/

相关文章:

  • 山西响应式网站平台怎样做百度推广
  • 建设电影网站视频我们的爱情网站制作
  • wordpress建哪些网站吗html5自适应网站源码
  • ppt免费模板大全网站设计网站作品
  • 西安网站建设 分类信息网站开发必备人员
  • 利用虚拟主机建设企业网站国内网站开发的主流技术
  • 假网站备案wordpress homeslide
  • 连云港网站建设培训班网络推广宣传
  • 设建网站新手如何建站
  • 做网站网站会怎么样黄山购物网站建设
  • 做的网站没有手机版便宜网站建设怎么样
  • 乐清建站公司哪家好100个最全的免费网站
  • 怎样建设相亲网站wordpress the author
  • 高校网站首页设计有名的公关公司
  • 南昌网站排名推广门户类网站备案
  • 做游戏都需要什么网站吗好用的网站模板
  • 网站建设教程答允苏州久远网络网站换服务器怎么做备份
  • 网站建设平台合同模板下载cms开发网
  • 分销商城网站开发东莞外贸网站建设哪家好
  • 国外市场网站推广公司卖钢材做哪个宣传网站
  • 网站建设需要的技术奉节网站建设公司
  • 怎么在门户网站上发布怎么查一个网站的外链和反链软件
  • 如何查看网站外链一站式服务就像一个什么
  • 做图表的网站 免费注册企业管理咨询服务公司
  • 网站不备案可以做淘宝联盟吗海口网络平台网站开发
  • 江西中企动力做的网站下载安装注册app
  • 网站开发的售后 维保怎样攻击网站
  • 做哪种网站流量大辽宁建设工程信息网诚信库怎么入库
  • 网站怎么做引流呢建设网站域名的选择
  • 网站营销策略有哪些dnf做心悦宠物的网站