前端人学习java开发—使用Spring Boot开发

好久没有写技术文章了。最近有了一些新的认知,技术还是要坚持的,归结起来就是守正出奇,技术是我的正,毕竟从事了这么多年的技术工作,奇则是其他探索性副业。

java开发前介绍

平台无关性

java是一种开发语言,得益于Java的运行环境------Java虚拟机(JVM),其可以实现平台无关性。

当你编写Java代码并编译后,会生成一种被称为字节码(Bytecode)的中间代码,而不是直接生成特定操作系统的机器代码。这个字节码是可以在任何安装了JVM的系统上运行的。

当这个字节码在某个平台上运行时,JVM会将字节码转换为该平台的机器代码。因此,只要一个设备安装了JVM,无论这个设备的操作系统是Windows、Linux还是Mac,都可以运行Java程序。

很多开发语言比如go、python都是平台的无关的。但也有与平台有关的比如Objective-C、Visual Basic、Swift等。

java的开发源码格式

Java的源代码通常保存在扩展名为.java的文件中。这些文件包含了Java类的定义,每个文件通常包含一个公共类或接口。

当编译Java源代码时,Java编译器(javac)会生成扩展名为.class的字节码文件。这些文件包含了可以被Java虚拟机(JVM)执行的字节码。

如果有多个.class文件或者其他资源(如图片、音频、配置文件等),可以将它们打包到一个JAR(Java Archive)文件中,以便于分发和部署。JAR文件是一个包含了多个.class文件和其他资源的压缩文件,它可以被JVM直接执行。

对于Web应用程序,可以使用WAR(Web Application Archive)文件格式。WAR文件是一种特殊类型的JAR文件,用于打包Java Web应用程序的所有组件,包括Servlets、JSP、HTML、CSS、JavaScript、图像文件、库文件等。

java的war和jar区别

java的war和jar包都是源代码编译后的产物。

  1. 文件类型:WAR文件是Web Application Archive的缩写,主要用于分发和部署Web应用程序。JAR文件是Java Archive的缩写,主要用于分发Java类库和应用程序。

  2. 内容:WAR文件通常包含JSP、HTML、JavaScript等Web资源文件,以及Java类、库等。JAR文件主要包含Java类和库。

  3. 使用场景:WAR文件主要用于Web服务器或应用服务器,如Tomcat、Jetty、WebLogic等。JAR文件可以在任何安装了Java环境的地方运行。

  4. 结构:WAR文件有特定的目录结构,如WEB-INF目录用于存放配置文件和类文件等。JAR文件没有特定的目录结构,通常按照开发者的需要来组织。

  5. 打包工具:WAR文件通常使用Ant、Maven等工具进行打包。JAR文件可以使用Java自带的jar命令进行打包。

  6. 运行方式:WAR文件需要部署到服务器上才能运行。JAR文件可以直接通过java -jar命令运行。

java开发

安装jdk

Java Development Kit是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包。这个安装网上有很多教程,这里就不做介绍了。可以安装经典的java 8,也可以是长期稳定版本11和17。

安装Idea、maven和数据库

对于前端开发来说使用的是vscode,对于java这里使用idea。idea有官网,可以直接下载社区版使用。

maven是java开发的构建工具可以类比为前端开发的npm。maven也需要下载,现成的教程也很多,这里就不做介绍了。maven我安装的是3.6.7版本。

如果项目需要使用使用数据库,还需要下载数据库,比如mysql,mysql下载教程也很多,不做介绍了。

使用Spring Boot开发

对于前端的同学来说,可以理解Spring Boot类比使用vue-cli或者create-react-app生成的代码产物。

Idea有专业版和社区版,专业版有30天试用期,社区版免费。但是使用社区版不能直接生成Spring Boot的项目,需要在Spring Boot的官网配置生成后下载。

现在vue-cli也可以网页配置生成了,原理都是一样的。

注意:如果本机安装的是java 8,以及本机安装的idea是2022年版本的,可能会提示有问题

这个时候需要修改下载后代码中的pom.xml文件,这个文件类比前端的package.json文件。具体修改

修改spring-boot-starter-parent版本,以及修改java版本,降低版本。

项目结构介绍

如下所示

也可以创建application.properties/yml作为项目的配置文件:可以配置依赖文件里面的依赖包,也可以配置spring属性。

在Idea右侧有maven插件,可以用来执行maven的相关命令,而不用手动在命令行执行。

好了后面就可以进行java或Spring Boot的开发学习和研究了。个人觉得java开发学习曲线要比前端学习陡峭,入门相对较难。

相关推荐
于过2 分钟前
Spring注解编程模型
java·后端
北随琛烬入3 分钟前
Spark(10)配置Hadoop集群-集群配置
java·hadoop·spark
顽疲9 分钟前
从零用java实现 小红书 springboot vue uniapp (11)集成AI聊天机器人
java·vue.js·spring boot·ai
Yan-英杰25 分钟前
DeepSeek-R1模型现已登录亚马逊云科技
java·大数据·人工智能·科技·机器学习·云计算·deepseek
TDengine (老段)36 分钟前
TDengine 中的日志系统
java·大数据·数据库·物联网·时序数据库·tdengine·iotdb
不想学习!!38 分钟前
linux之进程控制
java·linux·服务器
派小汤1 小时前
Springboot + Vue + WebSocket + Notification实现消息推送功能
vue.js·spring boot·websocket
nlog3n2 小时前
Java外观模式详解
java·开发语言·外观模式
牛马小陈同学2 小时前
Kafka+Zookeeper从docker部署到spring boot使用完整教程
linux·spring boot·docker·zookeeper·kafka·prettyzoo·kafka-ui
Mryan20052 小时前
SpringBoot项目报错: 缺少 Validation
java·spring boot