美文网首页Java 杂谈
springboot 精简搭建过程

springboot 精简搭建过程

作者: 皓尘埃 | 来源:发表于2018-11-23 16:34 被阅读0次

新建一个maven项目,并修改其pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <groupId>com.cjustsinging</groupId>
    <artifactId>c1-base</artifactId>
    <version>1.0-SNAPSHOT</version>

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

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

</project>


重点在于spring-boot-starter-web这个依赖,这个starter把web所需的依赖全部都打包好了。
继承parent好处在于,其下的许多依赖都已经配置版本号,无需再手动配置。也可以不继承,不过那样的话,所有的dependency都要指定一下version,稍微要麻烦那么一点点,建议还是继承好一些。

新建启动类Application

package com.cjustsinging;

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

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

重点在于使用@SpringBootApplication注解,开发过程中启动的时候,直接启动该启动类的main函数即可。如果是打成了jar包,通过java -jar 方式启动的时候,也是会启动该类的main的函数。
至此,一个最简单的springboot的项目就搭好了。
此时,直接run启动类的main函数,就能看到启动成功了,最后几行如下:

2018-11-21 17:16:49.811  INFO 66938 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-11-21 17:16:50.134  INFO 66938 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-11-21 17:16:50.147  INFO 66938 --- [           main] com.cjustsinging.Application             : Started Application in 8.759 seconds (JVM running for 12.549)

拦截请求

项目起了,但是空空如也也没什么用,接下来就弄个controller来拦截请求

package com.cjustsinging.controller;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/")
public class TxController {
    private Log log = LogFactory.getLog(TxController.class);

    @RequestMapping("test")
    public Object test() {
        log.info("test");
        return "Hello";
    }
}


  • @RestController注解的作用在于标识该类是一个基于restful的controller。也可以用@Controller这个注解的,不过这个就还需要做一些额外的操作,使用 @RestController会更爽一些。
  • @RequestMapping注解的作用在于指定拦截适配的规则,@RequestMapping("/")这样就是全拦截了,@RequestMapping("test")这样就是拦截test字符串,这个注解可以作用在类上,也可以作用在方法上,最后的结果就是类上的+方法上的才是最终拦截规则。像上面的类来说,/test这个请求就会匹配到test方法上。
    新增controller类之后,重启服务,在浏览器上请求一下localhost:8080/test,请求就会进入到test这个方法。这个简单的方法的效果比较简单,页面上就会打印一个Hello,应用日志会打印一行test。
    入口弄好了,剩下想干嘛就各随所好了,手动奸笑。

访问静态资源

maven项目的资源文件都是放在resources目录下,而springboot的静态资源默认访问目录就是resources目录下的static目录,即resources/static目录。
这个目录下的静态资源可以直接访问,在static目录下放置一个index.html,直接请求localhost:8080/index.html就可以访问到index.html了。

打成可执行jar包

springboot默认情况下,已经内嵌了一个可运行的tomcat,所以一般建议直接打成一个可执行的jar,然后通过java -jar命令的形式就可以跑,会使用内嵌的tomcat直接起一个服务。
默认情况下,打包方式就是配置的jar,不过打包还需要配合springboot的maven打包工具来使用,稍微修改了一下pom文件,

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这样修改之后,通过mvn clean package出来的jar包就可以执行运行了。

后话

springboot真的很方便,简简单单的几步就完事了。
妈妈再也不用担心我的spring了…
好吧,其实这个只是最简单的几步打通了,真正干事的时候还需进一步深入,后续再接着聊。

相关文章

网友评论

    本文标题:springboot 精简搭建过程

    本文链接:https://www.haomeiwen.com/subject/xinjqqtx.html