系统:Windows、Linux
开发工具(免费):Eclipse+MySQL Workbench+记事本Notepad++(或收费的FW、PS、DW)
基础框和应用组成:Java8、SpringBoot2.0+Tomcat9+Maven3.5.4+MySQL8.0+MyBatis(iBatis)
HTML+CSS+Javascript+jQuery+VUE3.0+layUI
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oo.auth</groupId>
<artifactId>happyCode</artifactId>
<version>0.0.1-SNAPSHOT</version><!-- SNAPSHOT:快照版本,仍处开发中的版本(不稳定),RELEASE:正式版本,对外发布的稳定版本 -->
<packaging>war</packaging><!-- jar:普通项目,pom:父级项目,war:服务项目 -->
<!-- 继承spring-boot-starter-parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<!-- 添加Maven依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<!--
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
-->
</dependency>
<!-- SpringBoot内嵌tomcat(spring-boot-starter-web已经默认添加了这个jar包的依赖) -->
<!--
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBoot工具,改善开发时体验的模块:classpath里对文件任何操作都会触发应用程序重新启动 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!-- SpringBoot Maven插件,可以打包成可执行的jar或war -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<!-- 热部署,和spring-boot-devtools一样,具有自动重启项目的功能 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</dependencies>
<!-- maven install 没有指定<mainClass>或者继承了spring-boot-starter-parent并且<start-class>属性未配置时,会自动寻找签名是public static void main(String[] args)的方法... 所以插件懵逼了,两个妹子和谁在一起呢... -->
<configuration>
<mainClass>com.oo.HappyCodeApplication</mainClass>
</configuration>
<!-- 所述spring-boot-starter-parentPOM包括<executions>配置以结合repackage目标。如果您不使用父POM,则需要自己声明此配置 -->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
package com.oo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("com")//注释扫描,默认扫描使用@ComponentScan所的类所在包下
@EnableAutoConfiguration
public class HappyCodeApplication {
public static void main(String[] args) {
//启动服务项目,默认端口8080
SpringApplication.run(HappyCodeApplication.class, args);
}
@Bean
public TomcatServletWebServerFactory servletContainer(){
TomcatServletWebServerFactory tomcatServletWebServerFactory = new TomcatServletWebServerFactory();
tomcatServletWebServerFactory.setPort(80);//修改默认启动端口
return tomcatServletWebServerFactory;
}
}
package com.oo.hello;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//@Component//@Service服务, @Controller控制, @Repository数据访问是@Component特殊化后的符号,将实例化对象注入Spring容器
@Controller//标示控制层类
//@RestController //@RestController注解相当于@ResponseBody(将返回结果HttpMessageConverter格式化后写入HTTP Response Body中) + @Controller
public class HelloWorldController {
@RequestMapping("/")//添加请求的映射地址
@ResponseBody
public String helloWorld() {
return "helloWorld";
}
}
然后访问 http://localhost:80/,显示helloWorld代表一个SpringBoot Web HelloWorld项目创建成功了