1、PHP依然是改变世界的语言,Facebook早期就是建立在PHP之上,转型不意味着PHP不够强大,而是场景选择和架构选择的结果
2、为什么转型?个人理解是PHP更面向前台业务,服务层和中台技术选型应该多选择支持多线程和协程的技术如Java和Golang,当
然还有很多。
3、之所以转Java还是要看Java是否在团队内是大众语言,在语言统一上来看,只要成本可接受,收益还是很明显,全团队可以做到
技术架构统一,很多重复的生产线都可以合并,并在某个场景下找到一些机会,做到专业领域最强,比如一些小的插件和小的功能Jar
包。

转型学习清单

  1. IntelliJ IDEA ,工欲善其事必先利其器,一个不错的IDE支持多语言,主要是用的人多。可以买一个正版一年才几百块。
  2. Git ,源代码管理工具,目前几乎是开发的事实标准,Git Web版本有 GitLab Github,要理解 Git 、GitLab、GitHub 三者区别
  3. Maven,项目管理工具,主要是用来管理项目的依赖,打包和发行。此处应该有个Maven的使用介绍
  4. SpringBoot,Java 的轻量级框架,主要是很轻量很容易入手,方便集成了很多功能,比如数据库操作,缓存操作,调度任务。。。。等等,主要是大厂都在用,很多人都在用。此处应该有SpringBoot的专题跟进
  5. slf4j,logback,标配日志处理框架,很方便和Java应用集成,此处应该有个slf4j,logback,log4j的三者介绍
  6. lombok,Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率

以上这些基本就够了,再用到啥,我后面再补充好久不写文章了,不会写。

一、基于IDEA 创建一个Maven Java项目

  1. 创建项目
  2. 基于Maven 和 maven archetype-quickstart 创建项目 此处应该有个 archetype 的介绍
  3. 给项目起一个名字
  4. 根据自己的情况设置 groupId ,一般是 反域名形式,主要是为了让包名唯一,这个地方应该有个详细描述
  5. 项目创建好后,会有一段时间,下载maven必备的jar包,记得勾选下面的 Enable Auto import 未来再新添加一个Jar包,会自动下载。
    此处应该有个修改Maven仓库地址为Aliyun

二、添加Alibaba Java coding Guidelines

在Preferences-->Plugins->MarketPlace 搜索 alibaba 就会出现,店Install 即可,安装后切记重启一下IDE,这个没有提示重启IDE。。。。重启后在代码编辑页面会看到 有的关键词和类名下面出现波浪线,把鼠标放上去就能看到哪些不符合阿里的代码规约


在Preferences–>Plugins->MarketPlace 搜索 alibaba 就会出现,店Install 即可,安装后切记重启一下IDE,这个没有提示重启IDE。。。。

重启后在代码编辑页面会看到 有的关键词和类名下面出现波浪线,把鼠标放上去就能看到哪些不符合阿里的代码规约(这是很多前辈总结的规约,主要是为了代码风格统一还有就是编写出大家都能理解的代码用)

idea configuration type没有springboot idea创建没有springboot_spring_02

三、添加并设置Spring Boot

1、学会看文档https://spring.io/guides/gs/spring-boot/
添加下面这些到自己工程的pom文件,添加后,Maven 会自动从中心仓库拉去 Jar包,需要等一会儿。

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

如下图

idea configuration type没有springboot idea创建没有springboot_Java_03


2、在App类中启动SpringBootApplication,

  • 添加SpringBoot 启动类注解 @SpringBootApplication
  • 在入口代码启动 SpringApplication.run(App.class);
    代码如下
package org.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App {
    public static void main( String[] args ) {
        SpringApplication.run(App.class);
        System.out.println( "Hello World!" );
    }
}

3、写一个业务 Controller (并声明URL路径为 /test)

  • 创建一个package 为controller
  • 创建一个Java Class 为 TestController
  • 在TestController中声明这是一个 @RestContoller
  • 在TestController的public 方法上声明 @RequestMapping (用以表示访问URI)
    格式如下

    代码如下
package org.example.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @RequestMapping(value = "/test")
    public String hello(){
        return "Hello world!" ;
    }
}

4、启动项目(右键点 App类-> Run App.main())

如下图

启动项目(右键点 App类-> Run App.main())

访问http://localhost:8080/test

如下图

idea configuration type没有springboot idea创建没有springboot_spring_05

四、未完待续

  1. SpringBoot 整合slf4j logback
  2. SpringBoot 配置文件
  3. SpringBoot JPA连接Mysql数据库
  4. SpringBoot Redis
  5. SpringBoot 监控