• springboot入门的一点基础


    什么是SpringBoot

      java问世20年以来,发展到现在从技术角度来说已经很成熟,开发过程中我们总是在想如何去提高团队开发规范性、减少重复配置、避免低效开发、部署发布时流程的复杂度以及第三方技术集成难度大。

      在这样的背景下,SpringBoot就横空出世了,它使用了“习惯优于配置(本来项目中存在很多配置,此外还内置一个习惯配置,让你可以手动配置@configuration注解)”的理念让项目快速运行起来。

      在地址中:https://spring.io/docs

       进入了一个项目可选的,建议选择1.5.10左右的版本,很多企业都在用,在这里创建之后解压,用STS、idea、eclipse等工具导入Maven项目就可以了。

    SpringBoot 的核心功能

      1.独立运行的Spring项目

        SpringBoot可以以jar包的方式独立运行,没错不需要部署到外部tomcat下面了,因为内嵌有Tomcat,运行一个SpringBoot项目只需通过java -jar xx.jar,刚上面说的省去了部署时间了。

      2.内嵌Servlet容器

        SpringBoot可以选择内嵌Tomcat、Jetty或者Undertow、这样我们无需以war包的方式部署项目了。

      3.Spring提供一系列的start pom 来简化Maven的依赖加载,例如 下图自动加入的包:

      4.自动配置Spring Boot 会自动在jar包,类,为jar包里的类自动配置bean,会极大的减少我们使用的配置,当然,springboot只是考虑了大多数开发场景使用,如实际开发中我们需要自己配合bean也可以办到。

    package com.demo.data.service.conf;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.EnableAspectJAutoProxy;
    
    @Configuration
    @EnableAspectJAutoProxy
    @ComponentScan("com.demo.data.service.*")
    public class AopConfig {
    }

      5.准生产的应用监控

      Spring Boot提供基于http相关对运行时项目的监控

      6.无代码生成和xml配置

      SpringBoot巧妙了避开了大量代码生成,而是采用了注解的方式,这也是采用Spring4提供的新特性,提议java配置和注解组合,不需要xml文件就可以实现Spring的所有配置

    常用注解

      1.@Enable*注解开启功能非常实用

        @EnableAspectAutoProxy  开启对AspectJ 自动代理的支持

        @EnableAsync 开启异步方法支持 

        @EnableScheduling  计划任务的支持

        @EnableWebMvc  WebMvc配置的支持

        @EnableConfigurationProperties  对@ConfigurationProperties注解配置Bean的支持

        @EnableJpaRepositories 对Spring Date  Jpa Repository 

        @EnableTransactionManagement 注解式事务的支持开启

        @EnableCaching  注解是缓存开启

      2.SpringMvc常用注解

        @Controller 不解释了

        @RequestMapping 不解释了

        @RequestBody不解释了

        @PathVariable 用来接受路径参数

        @ReatContoller 很常见,他是@Controller和ResponseBody结合

      3.核心注解条件

        @ConfigurationOnBean  容器指定Bean的条件下

        @ConfigurationOnClass  类路径下有指定类的条件下

        @ConfigurationOnExpression  基于SqEL表达是作为判断条件

        @ConfigurationOnJava  基于JVM表达是作为判断条件

        @ConfigurationOnJndi  基于JDNI存在的条件下查找指定的位置

        @ConfigurationOnMissingBean  容器里没有指定Bean的条件下

        @ConfigurationOnProperty  指定的属性是否有指定的值

        @ConfigurationOnResource  类路径是否有指定的值

        @ConfigurationOnWebApplication  当前项目是Web项目的条件下

    我的建议是尽快掌握注解式编程,不然看代码和写代码都是两眼一抹黑,上面很多是我个人意见,如有问题,欢迎给我留言,我会及时回复的......

  • 相关阅读:
    NexusFile(文件管理器)
    塔式、机架式、刀片式服务器的区别和特点
    使用dsoframer控件出现"Unable to display the inactive document. Click here to reactivate the document."的问题 .
    类型“Microsoft.Office.Interop.Word.ApplicationClass”错误 4317 无法嵌入互操作类型
    解决C#导出excel异常来自 HRESULT:0x800A03EC的方法 .
    c# winfrom 皮肤切换 控件 IrisSkin2.dll 使用
    巧用花生壳将局域网内的FTP和www服务器发布到互联网
    Windows Server 2003 动态网站IIS设置(图)
    NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法
    UML用例图
  • 原文地址:https://www.cnblogs.com/zhikou/p/8542567.html
Copyright © 2020-2023  润新知