spring boot 入门

大家好,我是一枚正直纯洁善良的JAVA程序员。今天给大家分享一下,Spring boot的入门

1.背景介绍

从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

Actuator:让你能够深入运行中的Spring Boot应用程序

2.知识剖析

使用spring boot有什么好处

简单、快速、方便

没有比较就没有伤害,让我们先看看传统Spring MVC开发一个简单的Hello World Web应用程序,你应该做什么,

一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servlet API这些依赖。

一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet。

一个启动了Spring MVC的Spring配置

一控制器类,以“hello World”相应HTTP请求。

一个用于部署应用程序的Web应用服务器,比如Tomcat。

最让人难以接受的是,这份清单里面只有一个东西是和Hello World功能相关的,即控制器,剩下的都是Spring开发的Web应用程序必需的通用模板。

Spring Boot文件

pom.xml:Maven构建说明文件。

SpringBootWebApplication.java:一个带有main()方法的类,用于启动应用程序(关键)。

SpringBootWebApplicationTest.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。

application.properties:一个空的properties文件,你可以根据需要添加配置属性。

解析pom.xml

spring boot简洁性的原因

Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发

spring boot默认的配置文件必须是,也只能是application.命名的yml文件或者properties文件,且唯一

3.常见问题

4.编码实战

@Mapper
public interface StudentMapper {
    @Select("SELECT * FROM student")
    @Results({
            @Result(property = "sName",  column = "s_name"),
            @Result(property = "sAge",  column = "s_age"),
            @Result(property = "sGrade",  column = "s_grade"),
            @Result(property = "sAddress", column = "s_address")
    })
    List<StudentEntity> getAll();

    @Select("SELECT * FROM student WHERE id = #{id}")
    @Results({
            @Result(property = "sName",  column = "s_name"),
            @Result(property = "sAge",  column = "s_age"),
            @Result(property = "sGrade",  column = "s_grade"),
            @Result(property = "sAddress", column = "s_address")
    })
    StudentEntity getOne(Long id);

    @Insert("INSERT INTO student(s_name,s_age,s_grade,s_address) VALUES(#{sName}, #{sAge}, #{sGrade},#{sAddress})")
    void insert(StudentEntity student);

    @Update("UPDATE student SET s_name=#{sName},s_age=#{sAge},s_grade=#{sGrade},s_address=#{sAddress} WHERE id =#{id}")
    void update(StudentEntity student);

    @Delete("DELETE FROM student WHERE id =#{id}")
    void delete(Long id);
}

5.扩展思考

spring boot的不足和缺点

因为不用自己亲手配置,出了问题排查困难

看似配置简单,但是只是对有丰富经验的人比较友好,万一出了问题对新人来说会很棘手

6.参考文献

百度,博客

7.更多讨论

今天的分享就到这里啦,欢迎大家提问和探讨!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值