读《Web全栈项目开发入门与实战 / 吴杏平,曹雪著. –北京:人民邮电出版社》,把一些我认为的重要的地方摘录下来(实战项目是“二手市场”书中代码部分比较多)。
前端开发
React主要特点
(1)单页面:
在React中所提及的页面,都是由一个个组件构成,其实现逻辑是由JS动态生成,仅有的一个页面只不过是一个容器。
(2)组件化:
组件化的设计就是充分体现低耦合。
(3)高性能:
在React中采用的是虚拟DOM原理,即通过JSX语法绘制出来的元素只是一种类似DOM的数据结构,并不是真正的DOM。这种原理大大减小了DOM节点操作频率,优化了性能。
(4)单向数据流
后端开发
Java主要特点
Java是一种简单、面向对象、分布式、编译与解释性、健壮性、安全性、可移植性、高性能、多线程和动态的编程语言。
Java基本数据类型
可以简单概括为4类8种:
1.整数类型
byte:8位,有符号的整数,取值范围为-128~127,默认值为0。
short:16位,有符号的整数,取值范围为-32768~32767,默认值为0
int:32位,有符号的整数,是最常用的整数类型,取值范围为-231~231-1,默认值为0。
long:64位,有符号的整数,取值范围为-263~263-1,默认值为0L。
2.浮点类型
float:单精度类型,32位,取值范围为-3.403E38~3.403E38,默认值为0.0f,“f”不区分大小写。
double:双精度类型,64位,比较常用,取值范围为-1.798E308~1.798E308,默认值为0.0d。
3.字符类型
char:单一的16位Unicode字符。
4.布尔类型
boolean:表示一位的信息,只有两个取值,true和false。
注释
单行注释://注释内容。
多行注释:/注释内容/。
文档注释:/*文档注释/。
Java开发环境
JDK(Java Development Kit)是Java开发工具包,包含JRE,同时也是Java开发运行的必备工具。
JRE(Java Runtime Environment)是Java的运行环境,包含JVM及Java的核心类库。
JVM(Java Virtual Machine)是一种用于计算机设备的规范。它是虚拟出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现。
Spring核心特性
1.IOC
IOC全称为Inversion of Control,中文译为控制反转,还有一个别名为DI,全称为Dependency Injection,中文译为依赖注入。IOC通过Java反射机制对Java对象进行统一配置和管理,把对象的创建权由对象本身交给Spring容器,因此称为控制反转。同时IOC通过Spring注入对象,因此也称为依赖注入。
2.AOP
AOP全称为Aspect Oriented Programming,中文译为面向切面编程,是对面向对象编程(OOP)的补充
利用AOP可以对业务逻辑的各个部分进行隔离,从而降低业务逻辑各部分之间的耦合度,提高程序的可重用性,进而提高开发效率。
Spring Boot优缺点
1.优点
(1)能够快速创建独立运行的Spring项目并与主流框架集成。
(2)使用嵌入式的Servlet容器,无须打包成war包,直接通过main方法启动。
(3)提供了starter pom,能够非常方便地对Jar包进行管理,简化了maven配置。
(4)大量的自动配置,简化了开发。
(5)无须配置XML,采用注解自动配置。
(6)提供了程序的监控。
(7)与云计算天然集成。
2.缺点
(1)集成度太高,不知道底层实现。
(2)配置比较少,报错时很难定位。
常用的IDE/工具
Eclipse是跨平台开源IDE,由IBM公司创建,早期主要用于Java开发,但通过安装插件的方式也可以作为C++、Python的开发工具。Eclipse支持各种插件安装,具有很高的灵活性。
IntelliJ IDEA:这款IDE是由JetBrains公司开发,于2001年推出,现在是市面上最优秀的IDE之一,推荐使用这款IDE,网上也有各种版本的激活方法。
Navicat:是一套快速、可靠的数据库管理工具,是为简化数据库管理而设计。它可以用来对本机或远程的MySQL、SQL Server、SQLite、Oracle及PostgreSQL数据库进行管理及开发。Navicat适用于3种操作系统,即Windows、MacOS X及Linux Navicat。
Navicat支持两种单行注释,“#”或者“–”都可以。/**/为多行注释。
后端系统设计
接口设计本项目采用传统的3层开发架构,分别为controller层、service层、dao层。
其中controller层为控制层,主要作用是当用户接受客户端请求时,进行一些基础的参数校验,如是否为空校验、手机号格式校验、两次密码是否一致校验等。控制层的另一个作用是调用service层。
service层为业务逻辑层,主要作用是处理业务,并调用dao层拿到数据,返回给controller层,最后返回给客户端。dao层为数据访问层,主要作用是与数据库交互,进行一些增删改查操作。
项目部署流程
1.配置编译环境
(1)resources资源文件配置,通过在profiles下建立不同的文件夹来实现
(2)pom.xml配置打包环境参数。
2.打包并上传
Jar包上传成功之后就可以启动项目,通过如下命令即可启动。
nohup java-jar-Xmx1024M secondary-0.0.1-SNAPSHOT.jar>/dev/null 2>&1&
nohup
表示不挂断的运行命令,不会随着Ctrl+C退出后导致项目停止。
-Xmx1024M
是设置JVM最大可用内存为1024MB。
>/dev/null
表示输出重定向到null,即不输出到控制台。
2>&1
表示将错误信息定位到输出。
&
表示后台运行,一般跟nohup配合使用。
开发思路总结
(1)理解需求
(2)数据建模,也就是表结构设计
(3)项目搭建,技术选型上也要慎重,不要一味地追求新技术。然后就是基础的组件封装,也可以进行异常的统一处理,这样代码看着比较简洁,基本上不需要try….catch。
(4)项目开发,作为一个有追求的开发者来说,编码规范是一定要注意的。推荐大家用阿里巴巴的编码规范,坚持使用,能够提高自己的编码能力及改善自己的编码习惯。