初识 SpringBoot 入门

初识 SpringBoot 入门,第1张

初识 SpringBoot 入门

目录

SpringBoot介绍

定义

特点

SpringBoot全新的pom.xml

pom.xml

eclipse第一个SpringBoot Project

创建maven project

Update Maven

修改pom.xml

创建RunApp.java

创建HelloController.java

测试

IDEA第一个SpringBoot Project

创建SpringBoot project

配置maven

创建RunApp.java

创建HelloController.java

测试

扩展

执行过程

常见问题:8080端口冲突


SpringBoot介绍 定义

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。成为SpringBoot全家桶。

特点
  • 创建独立的Spring应用程序
  • 嵌入的Tomcat,无需部署WAR文件
  • 简化Maven配置
  • 自动配置Spring
  • 提供生产就绪型功能,如指标,健康检查和外部配置
SpringBoot全新的pom.xml pom.xml


它产生整个项目目录,其实我们只需pom.xml文件,覆盖本地maven工程的pom.xml文件。

注:可以使用idea直接创建springboot项目,其本质也是去调用上面的网站,只不过在本地访问外网https://start.spring.io。

修改pom.xml后,把项目进行maven-update *** 作,下载依赖的jar包。

 



	4.0.0
	cn.tedu
	jk
	0.0.1-SNAPSHOT
	jk
	Demo project for Spring Boot

  	
	
		org.springframework.boot
		spring-boot-starter-parent
		2.4.2
		 
	
	
		
		1.8
	
	
	
	
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
	

	
		
		
			
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	



eclipse第一个SpringBoot Project 创建maven project



Update Maven

默认jdk1.5,早已经过气,改成jdk1.8

 

修改pom.xml

添加SpringBoot的依赖包


  4.0.0
  cn.tedu
  jkboot
  0.0.1-SNAPSHOT
  
   
		org.springframework.boot
		spring-boot-starter-parent
		2.4.2
		 
	
	
		1.8
	
	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


 

创建RunApp.java

SpringBoot使用了全新的运行方式,两句话,直接执行main方法,默认启动tomcat中间件,端口为8080。

注意:类必须放在其他类的父级目录,它底层使用了包扫描机制,扫描的要求只扫描本类所在的目录极其子目录。

package cn.tedu.jk;

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

@SpringBootApplication  //标识为springboot项目
public class RunApp {
	public static void main(String[] args) {
		//全新的启动方式,执行run方法会自动启动集成的tomcat中间件
		SpringApplication.run(RunApp.class, args);
	}
}

创建HelloController.java

目前市场主流已经采用注解方式进行开发

package cn.tedu.controller;

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

@RestController//接受浏览器的请求 并返回json数据
public class HelloController {
//	@RequestMapping("hi")//只匹配一个路径
	@RequestMapping({"hi","hello/hi"})//匹配两种路径/hi或者/hello/hi
	public String hi() {
		return "hi springboot!";
	}
}

启动Tomcat WebServer
ApacheTomcat是一个非常著名的web中间件,于之前学习的技术的不同在于它提供了web程序的容器环境,专门用于网站服务

SpringBoot默认集成了tomcat中间件,会自动把项目打包jar发布到tomcat,这样我们就形成了自己的网站。但这个网站只能局域网访问,如果外网(广域网),自己购买一个网站,部署上去即可。

 

注意:不用服务时,关闭tomcat服务

测试
http://localhost:8080/hello/hi				 # 某个web服务的根请求
http://localhost:8080/hi							# /hi的某个具体请求

 

url解析:

  • localhost代表本机,等价于ip:127.0.0.1
  • 8080代表本机的服务,tomcat默认端口8080
  • /hi等请求地址在一个web服务中请求具有唯一性(多个就没法区分了)

IDEA第一个SpringBoot Project 创建SpringBoot project


配置maven

 

创建RunApp.java
package cn.tedu.cotroller;

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

@SpringBootApplication
@Controller
public class RunApp {

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

}

创建HelloController.java
package cn.tedu.cotroller;

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

@RestController//接受浏览器的请求 并返回json数据
public class HelloController {
   
    //	@RequestMapping({"hi","hello/hi"})//匹配两种路径/hi或者/hello/hi
    @RequestMapping("hi")//只匹配一个路径
    public String hi() {
        return "hi springboot!";
    }

}

测试

扩展 执行过程

url** 的解析执行过程:**

浏览器输入的url,就会被解析后传入web中间件(/hi),web中间件再会进一步的解析,找到对应的Controller的某个注解里对应的url @RequestMapping({"/","/hi"}) ,从而就找到HelloController的hi()方法。最终利用反射执行这个类的方法(将来这个方法中就用来编写实现业务逻辑代码)。因为使用了@RestController,返回的String字符串对象底层会使用jackson工具类转换java对象为json字符串,返回给浏览器,浏览器将字符串回显(展示)在页面上。
 

常见问题:8080端口冲突

Tomcat服务不会自动关闭,需要手动关闭,如不关闭,下次启动就会报下面错误:

port 8080 was already in use. 端口8080已经被占用。关闭服务,重新启动即可。

 

仍未解决的话,以下三种方式任选一个来测试.

1,需要执行DOS命令处理:

C:Userslpx>netstat –ano  --查看所有端口号,找到8080端口对应的PID号
C:Userslpx>taskkill -pid 688 –f --杀死688进程号 

 

2,可能是因为电脑里安装过Oracle数据库:

要找到Oracle的服务OracleXETNSListener,停掉.

 

3,直接使用yml方式配置修改端口号:

在src/main/resources下添加application.yml文件,内容如下:

server:
  port: 8090

清除项目缓存,再次重启服务,测试即可: http://localhost:8090/hello/hi

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5575910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存