什么是Spring
- Spring是为了解决企业级应用开发的复杂性而创建的,为了简化开发的框架
Spring是如何简化开发
- 基于pojo的轻量级和最小侵入性编程
- 通过控制反准(IOC,Inversion of Control),依赖注入(DI,dependence inject),面向接口实现松耦合
- 基于切面(AOP,Aspect Oriented Programming)和惯例进行声明式编程
- 通过切面和模板(Template)减少样式代码
什么是SprirngBoot
Springboot基于Spring开发,本事不提供Spring框架的核心特性及扩展功能,只是用于快速、敏捷的开发新一代基于Spring框架的应用程序
特点
-
Java企业级应用->J2EE->Spring->SpringBoot
-
约定大于配置
-
默认帮我们配置
-
默认了很多框架的使用方式
优点
- 入门快,但深入难
- 用默认配置来简化配置
- 内嵌容器简化Web项目
- 没有冗余代码生成和XML配置的要求
第一个SpringBoot程序
配置要求
- JDK 8以上
- maven
- springboot
- IDEA
创建项目
- 创建新项目
2.设置项目信息
3.选择你需要的依赖
4.选择文件位置
5.删除3个文件后,就是熟悉的java web项目了
理解Spring项目的基本构成
1.HelloworldApplication文件,SpringBoot项目的主入口
2.application.properties文件,项目的核心配置文件
3.HelloworldApplicationTests文件,用于进行单元测试
maven配置
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 父项目 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.ximate</groupId>
<artifactId>helloworld</artifactId>
<version>1.0.0</version>
<name>helloworld</name>
<description>First Project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 所有springboot依赖都是以spring-boot-starter开头的 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- WEB依赖,用于实现http接口:tomcat默认嵌入,dispatcherServelet,xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<!-- 打包插件 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
右侧为maven的工具栏
代码编写
注意 包需要建在和主入口同一目录下
1.同一目录创建controller包
2.创建Helloworld.java文件
package com.ximate.helloworld.controller;
import org.springframework.web.bind.annotation.RestController;
//@RestController注解,相当于@Controller+@ResponseBody两个注解的结合返回json数据不需要在方法前面加@ResponseBody注解了
//但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
@RestController
public class HelloWorld {
//RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
@RequestMapping("/hello")
public String Hello(){
//接口业务,接受前端参数
return "hello world";
}
}
如若想要多级url
一般项目中我们的url一般不会只有一层,一般是,一个url下面套多层,通过嵌套@RequestMapping来实现
//多级url
@RestController
@RequestMapping("/hello")
public class HelloWorld {
//RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
//接口:http://localhost:8080/hello
@RequestMapping("/helloworld")
public String Hello(){
//接口业务,接受前端参数
return "hello world";
}
}
代码运行
1.直接点击右上角的运行符号
2.maven点击package打包,不同于mvc的war包,springboot默认打成jar包,可在maven中配置
- 打包完成后,jar包会在target目录下
- jar包运行代码:
java -jar helloworld-1.0.0.jar
第一个程序运行成功!