Springboot-初识

Springboot的基本概念、演变的历史

基本概念

  • Spring是一个开源框架,2003年兴起的一个轻量Java开发框架。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
  • Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。

演变的历史

  • 人们根据实际生产应用情况,选取其中实用功能和设计精华,重构出一些轻量级 的框架;之后为了提高开发效率,嫌弃原先的各类配置过于麻烦,于是开始提倡“约定 大于配置”,进而衍生出一些一站式的解决方案。
  • 是的这就是Java企业级应用->J2EE->spring->springboot的过程。

idea中的Spring

Spting项目的基本配置

  • Spring Boot通常有一个名为*Application的入口类,且入口类有一个main方法,这个main方法就是标志的java应用入口方法。调用main方法就可以启动springboot应用。
  • 在springBoot项目常用的配置项,很全面,在application.properties中修改即 可,配置项后用等号直接连接配置的值即可

Spring boot的基本结构

  • SpringbootApplication:与springboot包同级,主程序类。这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
  • 配置文件:pom.xml、application.yml
  • config包:配置信息类(config)
    • JdbcConfig
  • mapper包:数据接口访问层(Dao)
    • IUserMapper接口
  • service包
    • IUserService接口、数据服务层(Service)、UserServiceImpl实现类(数据服务的实现接口(serviceImpl)、service.impl目录下实现IUserService接口)
  • controller包:前端控制器(Controller)
    • UserController、resources.mapper(mybatis映射文件)、UserMapper.xml、resources.templates(存放Web页面的模板文件)、index.ftl(主页)、insertOrupdateUser.ftl(增加或修改页面)

Spring boot的常用注解

  • 启动注解@SpringBootApplication:
    • 是一个复合注解,包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan这三个注解
    • @SpringBootConfiguration 注解,继承@Configuration注解,主要用于加载配置文件
    • @EnableAutoConfiguration 注解,开启自动配置功能
    • @ComponentScan 注解,主要用于组件扫描和自动装配
  • Controller相关注解:
    • @Controller:控制器,处理http请求
    • @RestController:复合注解,相当于@ResponseBody+@Controller合在一起的作用,RestController使用的效果是将方法返回的对象直接在浏览器上展示成json格式
      • @RequestBody:通过HttpMessageConverter读取Request Body并反序列化为Object(泛指)对象
    • @RequestMapping:将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上
    • @GetMapping:用于将HTTP get请求映射到特定处理程序的方法注解
    • @PostMapping:用于将HTTP post请求映射到特定处理程序的方法注解
  • 取请求参数值:
    • @PathVariable:获取url中的数据
    • @RequestParam:获取请求参数的值
    • @RequestHeader:把Request请求header部分的值绑定到方法的参数上
    • @CookieValue:把Request header中关于cookie的值绑定到方法的参数上
  • 注入bean相关:
    • @Repository:DAO层注解
    • @Service:是@Component注解的一个特例,作用在类上
    • @Scope:作用域注解,作用在类上和方法上,用来配置 spring bean 的作用域,它标识 bean 的作用域
    • @Entity:实体类注解
    • @Component:把普通pojo实例化到spring容器中
  • 导入配置文件:
    • @PropertySource:引入properties文件
    • @ImportResource:导入xml配置文件
    • @Import:导入额外的配置信息
  • 事务注解:
    • @Transactional:在Spring中,事务有两种实现方式,分别是编程式事务管理和声明式事务管理两种方式
  • 全局异常处理:
    • @ControllerAdvice:统一处理异常
    • @ExceptionHandler:注解声明异常处理方法

lombok插件

@Data

  • 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法,不带参数的构造方法

插件的使用

  • Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法;在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是 在运行过程中,帮你自动生成的 。就是说,将极大减少你的代码总量。
  • 消除模板代码;便捷的生成比较复杂的代码

Maven

作用

  • 可以打成直接运行的Jar包
  • 可以引入依赖包
  • 可以指定默认执行类
  • 维护和管理第三方jar包。实际应用的项目之间存在依赖关系,A项目如果依赖CD项目,A项目需要的jar包我们可能很清楚,但CD项目可能不清楚,Maven可以帮助解决此问题。在完成配置后,Maven项目中可以自动导入直接或间接依赖的jar包

Spring boot小试

1. 访问 http://localhost/hello , 显示一个网页,内容为hello wolrd 加上当前的时间

  • 1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
  • 2、在包中新建一个HelloController类
  • 3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!

2.访问 http://localhost/about , 显示一个网页,显示你们小组的成员的学号、姓名

作者:方知有
Motto: 热爱可抵岁月漫长

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。

所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!

支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
原文地址:https://www.cnblogs.com/fangzhiyou/p/14508014.html