我的springBoot框架学习总结
一、SpringBoot的介绍
什么是SpringBoot:Springboot它是对 spring的一种封装,采用一些默认的配置、默认的依赖简化了我们对spring的使用,大大于提高了我们的工作效率。
我们知道流行起来的新框架,一般都是能解决某些痛点的。那么SpringBoot能解决哪些问题呢?
Spring的优点:
IOC(控制反转):把三层的实例的创建权交给sping容器即applicationContext,就能DI-依赖注入(DI能解耦)
AOP (面向切面编程) :基于JDK和CGLib的动态代理用来功能的动态增强,常用的地方有事务、日志、权限(一大片通用的功能才建议使用aop,不然没必要)。
Spring的缺点:
A,配置比较繁琐 (因为Spring轻代码重配置)
B,导入坐标很多,坐标关系管理也是一个问题
Springboot可以很好的解决这两个问题。
思想(口号):约定大于配置两个核心功能:
- 有起步依赖:将为了实现某方面功能需要的JAR包打包,封装到一起,只需要导入打包的包就可以了。
- 能自动配置:启动时会根据项目需要自动进行默认的配置
二:SpringBoot的入门案例
1、创建一个maven工程。
2、导入springboot的父工程坐标、导入起步依赖坐标。(这里以web方面的起步依赖做示范)
<!-- 导入springboot父工程的坐标 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<!-- 导入web方面的起步依赖的坐标 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3、创建一个引导类,类上使用@SpringBootApplication注解声明此类是一个引导类;这个引导类的目录位置要比组件类都浅,不然扫描不到组件类的注解哦;
package com.amar; //此类的目录
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication //声明该类是一个SpringBoot的引导类
public class mySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(mySpringBootApplication.class);
}
}
4、创建一个Controller组件。
package com.amar.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class Quick1Controller {
@RequestMapping("/quick1")
@ResponseBody //表明方法的返回值是回写(回写成json串)
public String quick1(){
return "hello springboot";
}
}
启动启动类,使用浏览器访问localhost:8080。 [springboot内置了tomcat插件,所以引导类才能够启动这个使用了springboot框架的web项目]
本文地址:https://blog.csdn.net/weixin_44900158/article/details/109628752
推荐阅读
-
我的springBoot框架学习总结
-
分享:小弟我的php框架再次更新,山寨版thinkphp,开发效率再次大幅提升
-
PHP的Yii框架中过滤器相关的使用总结_php技巧
-
如何学习一个新的PHP框架,学习新的PHP框架
-
基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts
-
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结_MySQL
-
用php进行微信公众号开发,就我目前的学习情况,请问我还应该学习什么?
-
学习ASP.NET MVC5框架揭秘笔记-ASP.NET MVC是如何运行的(三)
-
使用爬虫框架htmlunit整合springboot出现的一个不兼容问题
-
为什么我觉得Python的学习很没有条理?