啥是Springboot
和书上理解的不同,我认为Springboot是一个优秀的快速搭建框架,他通过maven继承方式添加依赖来整合很多第三方工具,可以避免各种麻烦的配置,有各种内嵌容器简化Web项目,还能避免依赖的干扰,它内置tomcat,jetty容器,使用的是java app运行程序,而不是传统的用把war放在tomcat等容器中运行
和JFinal的区别
JFinal是国人出品的一个web + orm 框架 ,JFinal,优点是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展。核心就是极致简洁。他没有商业机构的支持,所以宣传不到位,少有人知。
Springboot相比与JFinal最大的优点就是支持的功能非常多,可以非常方便的将spring的各种框架如springframework , spring-mvc, spring-security, spring-data-jpa, spring-cache等等集成起来进行自动化配置 ,而且生态 比较好,很多产品都对Springboot做出一定支持。
与Springcloud的区别
可以这么理解,Springboot里面包含了Springcloud,Springcloud只是Springboot里面的一个组件而已。
Springcloud提供了相当完整的微服务架构。而微服务架构,本质来说就是分布式架构,意味着你要将原来是一个整体的项目拆分成一个个的小型项目,然后利用某种机制将其联合起来,例如服务治理、通信框架等基础设施。
SpringBoot和SpringMVC区别
SpringBoot的Web组件,默认集成的是SpringMVC框架。
快速使用
要往下看的话,注意了
Springboot 2.x 要求 JDK 1.8 环境及以上版本。另外,Springboot 2.x 只兼容 Spring Framework 5.0 及以上版本。
为 Springboot 2.x 提供了相关依赖构建工具是 Maven,版本需要 3.2 及以上版本。使用 Gradle 则需要 1.12 及以上版本。
建议用IntelliJ IDEA IntelliJ IDEA (简称 IDEA)
建立项目
我已经好久没用Eclipse了,要知道Eclipse是创建一个maven项目在引入Springboot依赖创建的。
下面我分享一下用IDEA创建Springboot的方法。
很简单,在这个界面里面就可以创建Springboot了。接下来在添加一些组件。
大功告成!
写一个DEMO
这里用我写的一个秒杀项目作为参考栗子。秒杀商城
创建一个conntroller包,编写一个样列。
package cn.tengshe789.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/demo")
public class SampleController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
接下来在他同级包或者上一级的包内,创建一个主方法MainApplication。方法内容;
@SpringBootApplication
@EnableAsync
//@ComponentScan("cn.tengshe789.controller")
//@EnableAutoConfiguration
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
在浏览器输入http://127.0.0.1:8080/demo/hello/,就可以启动了!
SpringApplication.run
Springboot将他标识为启动类,用它启动Springboot项目
基础注解解释
@RestController
在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口。就相当于@Controller+@ResponseBody这种实现
@SpringBootApplication
用在启动Springboot中,相当于@ComponentScan+@EnableAutoConfiguration+@Configuration
@ComponentScan("cn.tengshe789.controller")
控制器扫包范围。
@EnableAutoConfiguration
他让 Spring Boot 根据咱应用所声明的依赖来对 Spring 框架进行自动配置。意思是,创建项目时添加的spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
作者:Java邵先生
链接:https://www.jianshu.com/p/d463254ca496