Springboot学习

一、什么是Springboot

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

可以这样理解,Springboot不是一个新的框架,它是已经存在的框架的整合,就好像是maven整合了jar包。Springboot使用习惯优于配置的理念,让开发者无需繁重、复杂的文件配置就可以快速地将项目运行起来。
使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet)、准生产级别的基于Spring框架的项目,它可以不用或者说只需要使用很少的Spring配置。

二、Springboot的特点

简单的概括起来就是简单、快速、配置少
如果想要搭建一个传统的Spring Web项目,需要下列步骤:

  1. 配置web.xml,springmvc.xml和spring.xml
  2. 配置数据库连接池,配置数据库事务等
  3. 配置记录系统工作的日志
  4. 配置加载系统运行时系统配置文件的读取
  5. 代码编写完成后,需要部署到tomcat等运行环境上调试

但是如果使用Springboot来搭建项目,只需要下列几个步骤:

  • 1、maven构建项目
    1、访问 http://start.spring.io/
    2、选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.5以及一些工程基本信息
    在这里插入图片描述
    3、点击 Generate Project 下载项目压缩包
    4、解压下载的压缩包

  • 2、Idea构建项目
    使用 Idea 导入项目,File -> New -> Model from Existing Source… -> 选择解压后的文件夹 -> OK,选择 Maven,然后 Next->Next->finish

    Spring Boot的基础结构共三个文件:

    • src/main/java 程序开发以及主程序入口

    • src/main/resources 配置文件

    • src/test/java 测试程序

  • 3、配置maven
    pom.xml文件中默认有两个模块:

    • spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;

    • spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito

  • 4、编写程序
    创建一个controller类,设置@RequestMapping(“test”),编写程序输出“test”,运行项目,SpringBoot默认会启动自带的Tomcat容器,然后打开浏览器,访问http://localhost:8080/test, 网页就会显示test。

    我们可以注意到,没有写任何的配置文件,更没有显示的使用任何容器,SpringBoot 提供了默认的配置,在启动类里加入 @SpringBootApplication 注解就可以完成。
    启动注解@SpringBootApplication的源码如下:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
....

发现@SpringBootApplication是一个复合注解,包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration。

@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
@EnableAutoConfiguration的作用启动自动的配置,@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。在下面博客会具体分析这个注解,快速入门的demo实际没有用到该注解。
@ComponentScan,扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。是以前的< context:component-scan>(以前使用在xml中使用的标签,用来扫描包配置的平行支持)。所以本demo中的User为何会被spring容器管理。

三、Springboot注解

  • @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中
  • @ComponentScan:让spring Boot扫描到Configuration类并把它加入到程序上下文。
  • @Configuration :等同于spring的XML配置文件;使用Java代码可以检查类型安全。
  • @EnableAutoConfiguration :自动配置。
  • @ComponentScan :组件扫描,可自动发现和装配一些Bean。
  • @Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
  • @RestController:注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
  • @Autowired:自动导入。
  • @PathVariable:获取参数。
  • @JsonBackReference:解决嵌套外链问题。
  • @RepositoryRestResourcepublic:配合spring-boot-starter-data-rest使用。

四、SpringMVC注解

  • @RequestMapping:
    @RequestMapping(“/path”)表示该控制器处理所有“/path”的UR L请求。RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
    用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。该注解有六个属性:

    1. params:指定request中必须包含某些参数值是,才让该方法处理。
    2. headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
    3. value:指定请求的实际地址,指定的地址可以是URI Template 模式
    4. method:指定请求的method类型, GET、POST、PUT、DELETE等
    5. consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
    6. produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
  • @RequestParam:用在方法的参数前面。
    @RequestParam
    String a =request.getParameter(“a”)

  • @PathVariable:路径变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值