SpringBoot(一) 完成一个web端的HelloWorld并部署成可直接执行的jar包

一、SpringBoot-HelloWorld

1.1 配置pom.xml

要想使用SpringBoot开发,要标签导入父工程spring-boot-starter-parent

要进行web开发,要引入web开发场景启动器的依赖spring-boot-starter-web

    <!--使用SpringBoot开发-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>

    <!--web开发相关依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

1.2 编写一个主方法

在这个类上标一个注解:@SpringBootApplication

来告诉SpringBoot,这是一个SpringBoot应用。

我们把标注了@SpringBootApplication的类,叫做主程序类,这个相当于是我们所有启动的入口。

@SpringBootApplication
public class MainApplication {

}

然后在主类的main方法中把这个跑起来,run的参数传入主类MainApplication.class和main方法的args,就可以了。

/**
 * 主程序类
 * @SpringBootApplication:这是一个SPringBoot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

1.3 编写业务

MainApplication同级目录下创建MVC那一套目录即可。

  • 创建一个controller目录,新建一个HelloController.java

    在类上标注一个@Controller注解

    @Controller
    public class HelloController {
    
        
    }
    

    然后编写一个方法,处理我们的“输出字符串Hello”的请求:

    @Controller
    public class HelloController {
        
        public String handle01(){
            
        }
    }
    

    接下来我们写SpringMVC的@RequestMapping注解,映射请求。映射哪个请求呢,我们希望浏览器中发送"/hello"请求,然后我们处理,处理完了以后,给我们浏览器返回一串话。

    @Controller
    public class HelloController {
    
        @RequestMapping("/hello")
        public String handle01(){
            return "Hello, Spring Boot 2!";
        }
    }
    

    由于返回的这段话,要以字符串的方式写给浏览器,所以我们给这个方法上,会加一个注解,@ResponseBody

    @Controller
    public class HelloController {
    
        @ResponseBody
        @RequestMapping("/hello")
        public String handle01(){
            return "Hello, Spring Boot 2!";
        }
    }
    

    由于我们未来可能会处理非常多的请求,都要返回字符串,所以我把这个@ResponseBody写在类上,代表我们这个类的每一个方法返回的数据,都是直接以字符串写给浏览器的,而不是跳转到某一个页面。

    @ResponseBody
    @Controller
    public class HelloController {
    
        @RequestMapping("/hello")
        public String handle01(){
            return "Hello, Spring Boot 2!";
        }
    }
    

    但是这两个注解,有一点太麻烦了,我们的SpringBoot有一个新注解,叫@RestController。这个注解,点进去看一下源码,实际上就是@ResponseBody和@Controller的合体。

    @RestController
    public class HelloController {
    
        @RequestMapping("/hello")
        public String handle01(){
            return "Hello, Spring Boot 2!";
        }
    }
    

1.4 运行

怎么运行这个程序,只需要在主类里面运行main方法即可。不需要配tomcat等等一些其他的东西。

在这里插入图片描述

运行,输出了很多日志。其中倒数第二行表示了Tomcat已经在8080端口启动了。

我们不妨来访问一下localhost:8080/hello:

在这里插入图片描述

这样,就简化了我们的开发。我们省略了很多以前的配置,包括我们连Tomcat都不用装,只要运行main方法就可以了。

1.5 简化配置

怎么简化配置呢。比如,我们以前想要改Tomcat端口号,我们还得打开Tomcat配置文件等等一大堆东西。SpringBoot它是来整合其他所有东西的一个总框架,所以说SpringBoot将我们未来所有的配置都可以抽取在一个配置文件里面,这个文件名字叫application.properties(在src->main->resources目录下)。

在这个配置文件里面,我们可以修改Tomcat的一些设置,包括SpringMVC的一些配置。什么都可以改。

所以说,SpringBoot给我们提供了一个统一的配置文件,所有的配置都可以在这更改。我们不更改的配置,SpringBoot都会有一个默认的。(具体能够写哪些配置,参照官方文档)

server.port=8888

之前我们的WEB项目都是在pom.xml中设置打包为war包,然后部署到Tomcat服务器。SpringBoot说,我们可以创建一个可执行的jar包,只要引入了SpringBoot给我们提供的插件,我们可以把这个项目直接打成一个jar包,这个jar包里面自带了我们整套的运行环境。这个jar包我们一般称为“fat jars”,因为包含了整套运行环境,所以我们直接就可以运行。

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

由于把项目直接打成了一个可执行的jar包,于是运行maven中的package:

在这里插入图片描述

可以看到项目target目录下生成了一个项目的jar包:

在这里插入图片描述

open in explorer,在文件夹中找到该目录

在这里插入图片描述

调出cmd:

在这里插入图片描述

输入以下命令:

在这里插入图片描述

可以运行,就像在IDEA中直接运行main方法那样,而且可以看到,Tomcat已经在8888端口启动起来了。

在这里插入图片描述

此时打开浏览器,访问localhost:8888/hello,和刚才的效果是一样的。

所以说,SpringBoot,也简化了我们的部署。

所以说SpringBoot很强大,从我们的开发,到配置,到部署,都给我们做了简化。以后用SpringBoot开发应用,再也不用操心那么多的事情了。

1.6 总结

回顾一下整个流程。

1、创建一个简单的项目,例如maven工程

2、引入依赖

  • 我们要用到SpringBoot的功能,就必须引入SpringBoot的这个父项目

        <!--使用SpringBoot开发-->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.4.RELEASE</version>
        </parent>
    
  • 我们想要开发WEB,就必须引入WEB场景

        <!--web开发相关依赖-->
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    

3、创建主程序

在编写业务逻辑之前,我们需要有一个主程序,来引导我们这个SpringBoot的启动

主程序核心在于,我们要告诉SpringBoot,这是一个SpringBoot应用:@SpringBootApplication

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

4、编写业务

以前我们怎么编写业务,就怎么编写业务,无需任何过多的配置

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String handle01(){
        return "Hello, Spring Boot 2!";
    }
}

5、测试

直接运行main方法即可

6、简化配置

只需新建一个application.properties,之后我们所有的配置都可以写在这里面。

7、简化部署

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

把项目打成jar包,直接在目标服务器执行即可。

java -jar 文件名.jar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋秋秋叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值