1.什么是springboot
- Spring Boot是由Pivotal团队提供的框架,该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。
- 设计目的:是用来简化新Spring应用的初始搭建以及开发过程。
- Spring Boot 从本质上来看,其实是一些库的集合,maven等项目导入相应的依赖即可使用Spring Boot,
- 无须手动管理jar包
SpringBoot通过spring-boot-starter项目管理提供所有依赖的版本,当你的springboot升级的时候,如果你没有指定版本,他也会默认升级为对应的版本,(也可以手动指定版本去覆盖默认值)
示例:
构建web项目时,我们需要配置tomcat 和 springmvc依赖,在springboot中我们只需要包含spring-boot-starter-web即引入了mvc 和 tomcat的依赖
<!-- web 项目 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我们点击这个依赖源码能看见其实不止有tomcat mvc 还有其他的一些依赖
<!-- spring-boot-starter-web 中的默认依赖 -->
.......
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--tomcat依赖 还可以点过去看什么版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- hibernate依赖 orm持久层框架-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<!-- json数据格式化依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!-- webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
........
- 下面是提供的一些支持
- 总的来说,减少配置文件,简化jar包管理,提高开发效率.
2.使用SpringBoot(入门)
-
环境要求 :
- jdk1.8(根据自己实际情况,有可能1.7不支持springboot最新版本)
- 项目管理工具 maven
- 开发工具 eclipse
-
快速入门
这里旨在快速创建一个web项目,了解springboot一些操作和特点
在生成的pom.xml中导入快速创建所需要的依赖:
- spring-boot-starter-parent
springboot 父节点 依赖,引入这个之后相关的的引入就不要添加version(版本)控制,springboot会自动添加合适的版本 - spring-boot-starter-web web项目依赖
- spring-boot-maven-plugin 让你能用编译的jar/war包启动项目
- spring-boot-starter-parent
<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">
<!-- 项目自动生成的部分 begin-->
<modelVersion>4.0.0</modelVersion>
<groupId>springboot-parent</groupId>
<artifactId>springboot-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
</modules>
<!-- 项目自动生成的部分 end-->
<!-- Spring Boot 父节点依赖,
springboot自动控制 后面引入的 与parent父节点中相关依赖的version版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<!-- web服务 -->
<dependencies>
<!-- web 项目 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 支持热启动,springboot提供的热启动,
让你就算修改了除方法体之外的代码也能不用手动重启项目 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--必须有,才能编译jsp文件,才能访问JSP页面 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!-- 范围设置,防止冲突 -->
<scope>provided</scope>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<!--
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,
即为Spring Boot应用提供了执行Maven操作的可能。
Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,
然后以通常的方式运行Spring Boot应用。
Spring Boot Maven plugin的最新版本为2017.6.8发布的1.5.4.RELEASE,
要求Java 8, Maven 3.2及以后。
-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- 设置jdk版本为1.8 覆盖父节点默认设置的1.6版本,符合当前环境 -->
<properties>
<java.version>1.8</java.version>
</properties>
</project>
- controller类
@Controller
public class DemoController {
@RequestMapping("/demo")
public String demo(){
return "HELLO,WORD";
}
}
- 项目启动类
/*@SpringBootApplication注解,包含了
@Configuration,
@EnableAutoConfiguration,
@ComponentScan
三个注解
相当于是这三个注解的一个集合,
@Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。
@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,
该对象应该被注册为在Spring应用程序上下文中的bean。
2、@EnableAutoConfiguration:
能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
3、@ComponentScan:
会自动扫描指定包下的全部标有@Component的类,并注册成bean,
当然包括@Component下的子注解@Service,@Repository,@Controller
我知道你们看不懂,当然我也看不懂,所以直接使用这个注解来标注这个是一个启动类就行了
*/
@SpringBootApplication
public class RunApp {
public static void main(String[] args) {
//启动方法
SpringApplication.run(RunApp.class, args);
}
}
- 直接右键run这个main方法即可,控制台会出现springboot的logo,最后会出现tomcat的端口号,和项目启动耗时,
- 浏览器访问http://localhost:端口号/controller方法路径
例如我的:localhost:8080/demo - 页面出现返回的字符串就成功了
-
这样一个简单的springboot下的web项目就创建成功了,虽然以往的导包创建不一样,但是实现的效果是相同的,这样构建更加的简单快捷。
-
controller这些类都创建了,那么访问页面也是可以实现的,同样非常简单,创建出webapp WEB-INF 这些文件夹就能访问了
-
下次我们来创建一个spring springboot mybatis的项目
-
thks for watching