3风云免费服务器能跑springboot吗

3风云免费服务器能跑springboot吗,第1张

3风云免费服务器是可以能springboot的,springboot项目在云服务器上的部署,总结如下:
1购买云服务器
我购买的是华为云服务器,此外还可以在阿里云、腾讯云等平台购买。推荐使用Linux系统。
2本机下载XShell 6 与XFtp 6
XShell 6:用于远程连接你的服务器(华为云服务器可以使用自带的CloudShell远程连接你的服务器)
XFtp 6:用于把本地文件上传至云服务器
3 云服务器安装宝塔面板
宝塔面板是面向初学者的可视化工具,对Linux命令不了解,使用其可简化过程
1打开xshell6,连接到服务器(或使用CloudShell)
2访问:宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (btcn)
3点击:立即免费安装
所以3风云免费服务器是能跑springboot的

本文通过一个实际的场景来介绍在前后端分离的项目中通过 WebSocket 来实现服务器端主动向客户端发送消息的应用。主要内容如下

Websocket 是一种在单个 TCP 连接上进行全双工通信的协议。WebSocket 连接成功后,服务端与客户端可以双向通信。在需要消息推送的场景,Websocket 相对于轮询能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

具体如下特点

在客户端的列表数据中有个 status 字段,服务器端需要花费较长的时间进行处理,处理完成后才会更新对应数据的 status 字段值,通过 Websocket 的处理流程如下:

通过注入 ServerEndpointExporter 类,用于在项目启动的时候自动将使用了 @ServerEndpoint 注解声明的 Websocket endpoint 注册到 WebSocketContainer 中。

为什么增加一个 ServerEndpointExporter Bean,并通过在一个类上增加 @ServerEndpoint 和 @Component 注解就可以实现服务器端 Websocket 功能,这里简单解析一下。

java 定义了一套 javaxservlet-api, 一个 >一般的 Spring Boot 项目打包完是 jar 文件,已内嵌了 Tomcat 服务器,但是当我们部署到生产环境的时候一般用的是 war 包,这次我们使用宝塔面板来完成项目的环境搭建和部署。

此教程所使用的环境:

首先,我们需要构建 war 包,需要对项目构建进行一些设置,以 Maven 为例,修改 pomxml 。
修改打包方式为 war ,注意最后一行:

加入这一项依赖设置:

在包的根目录新建一个 ServletInitializer 类(比如在我的项目里,与 BaotatestApplication 类同级),内容类似如下:

然后再回到项目根目录(有 pomxml 的目录),进行编译:

如果要跳过测试,就输入:

编译完成之后就能在 target/ 目录下找到我们的 war 包,比如我是 baotatest-001-SNAPSHOTwar 。

接下来配置服务器环境,首先宝塔面板的安装不再赘述,到其“软件商店”安装好:

安装完 Tomcat 后记得放行 8080 端口(Tomcat 默认端口)。再把我们的 war 包放进 / 看看日志文件)。此时再访问 >自己动手写一个启动器的经历:

这里报错了,原因是只导入了一个bean而SpringBoot无法启动服务器

解决办法一:将@Import改成@ConponentScan这样就会扫描同级包和子包。

解决办法二:关闭web服务器
自动装配的大概流程 :@EnableAutoConfiguration目的是自动装配在Maven中的第三方依赖,然后通过@Import(seleter)导入selecter,再通过selecter找到对应的factories文件最终加载了打上@Configuration的文件。

首先开启了自动装配

通过Selector方法返回对应的类的名字
SPI全名为Service Provider Interface

模块 实现方案

|  |  |  |  |  |  |              方案A

调用方 标准服务接口    方案B

|  |  |  |  |  |  |              方案C

基于interface + 策略模式 + 配置模式

整体解决方案的变化

与@Primary@条件注解的区别:具体/粒度小。

简单来讲,spring为java应用程序提供了全面基础支持

提供了一些依赖注入和开箱即用的模块,如下,这些模块减少了开发负担,提高了效率

使用Spring创建一个web application,依赖如下

Spring使用pring Test, JUnit, Hamcrest, and Mockito libraries都需要添加

举栗子:jsp 的web应用

Spring需要定义 dispatcher servlet, mappings 和其他 支持配置,一般是在 webxml 文件或 Initializer 文件中配置

在配置文件中添加 @EnableWebMvc 注解

需要 thymeleaf-spring5 依赖以及配置view resolver

Spring需要 spring-security-web和spring-security-config依赖

Spring还需要继承WebSecurityConfigurerAdapter类,添加@EnableWebSecurity注解

Spring和SpringBoot中应用程序引导的基本区别在于servlet。Spring使用 Webxml 或 SpringServletContainerInitiators 作为它的引导入口点。

Spring支持 Webxml 引导方式以及最新的Servlet 3+方法。

Webxml 分步骤处理:

1Servlet容器(服务器)读取 Webxml

2这个 DispatcherServlet 中定义的 Webxml 由容器实例化。

3DispatcherServlet 创造 WebApplicationContext 通过阅读 Web-INF/{servletName}-servletxml

4最后, DispatcherServlet 注册应用程序上下文中定义的bean。

以下是Spring引导程序如何使用Servlet 3+方法:

1容器搜索实现的类。 ServletContainerInitiators 并执行

2这个 SpringServletContainerInitiators 查找实现的所有类 WebApplicationInitiator

3这个 WebApplicationInitiator 使用xml或 @配置 班

4这个 WebApplicationInitiator 创建 DispatcherServlet 使用先前创建的上下文。

Spring和SpringBoot两个框架都支持像Maven和Gradle这样的通用包管理技术

Spring Boot Maven插件 在Maven中提供SpringBoot支持。它还允许打包可执行的JAR或WAR实现

在部署上下文中,SpringBoot相对于Spring的一些优点包括:

1提供嵌入式容器支持

2使用命令独立运行JAR的规定 爪哇-JAR

3选项以排除依赖项,以避免在外部容器中部署时可能发生的JAR冲突。

4选项可以在部署时指定活动配置文件。

5用于集成测试的随机端口生成
SpringBoot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的样板配置

SpringBoot构建了一个更快、更有效地开发生态系统

starter依赖简化了应用构建和配置

嵌入式服务器以避免应用程序部署的复杂性

度量指标、Helth检查和外部化配置

Spring功能的自动配置

使用Springboot创建web application的依赖如下

只需要一个starter 依赖,就把spring里面的testing libraries自动添加了

Spring提供了不同模块的常见starter如下

其他starter自定查看

地址:>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13430104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-04
下一篇 2023-08-04

发表评论

登录后才能评论

评论列表(0条)

保存