zoukankan      html  css  js  c++  java
  • 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: 热爱可抵岁月漫长

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

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

    支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
  • 相关阅读:
    Linux常用命令集合
    运用栈实现表达式求值(+,-,*,/运算)
    队列
    变参函数
    C语言--递归程序的设计
    指针的灵活应用--内核链表中的container_of
    C语言-求回文数字
    压力测试和负载测试
    测试理论
    Dubbo接口调用
  • 原文地址:https://www.cnblogs.com/fangzhiyou/p/14508014.html
Copyright © 2011-2022 走看看