从零开始学Spring Boot-01

作者: a1ie2 | 来源:发表于2017-11-16 16:42 被阅读139次

    Spring Boot 是什么

    Spring Boot 是伴随着Spring4.0 产生的,是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

    Spring Boot的主要优点

    为所有Spring开发者更快的入门

    开箱即用,提供各种默认配置来简化项目配置

    内嵌式容器简化web项目

    没有冗余代码生成和xml配置的要求

    尽可能的根据项目依赖来自动配置Spring框架

    提供可以直接在生产环境中使用的功能,如性能指标,应用信息和应用健康检查

    Spring Boot的缺点

    依赖太多,随便的一个Spring Boot应用都有好几十M

    缺少服务的注册和发现等解决方案,可以结合springcloud的组件使用

    缺少监控集成方案、安全管理方案(有但简单,满足不了生产的指标)

    下面就从头开始学习Spring Boot

    开发环境:JDK8.0、Intellij IDEA

    创建项目

    点击 Create New Project以创建一个新的项目

    如果没有图中的Spring Initializr,则需要打开Setting,添加这个插件,具体方法如图。

    添加完成之后,重新创建项目。因为我们只需要一个webdemo,所以只需要勾选webj即可。之后直接一直next就行。在选择项目路径的时候,如果需要修改项目路径,则修改成你所希望的即可。

    下图就是这个项目的目录结构。

    其中java目录就是放代码的地方。

    resources是防止资源的地方,比如css、html、图片等。

    application.properties是spring boot的配置文件,一些参数配置可以写在这个文件中。

    test文件夹是放测试类的地方,因为spring boot用了junit这个第三方的测试库,可以直接写测试用例

    pom.xml是maven的配置文件主要是用来配置项目需要的第三方类库

    External Libraries是放你这个项目中引用的jar包

    今天主要讲的是启动类:DemoApplication

    这个类只有一个main方法,可想而已,这个就是这个项目的入口。这个方法上面有一个注解是:

    @SpringBootApplication

    @SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan

    分开解释@Configuration,@EnableAutoConfiguration,@ComponentScan

    1、@Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

    相当于 :

    @Configuration

    public classConf {

    @Bean

    publicCarcar() {

    Car car =newCar();

    car.setWheel(wheel());

    returncar;

    }

    @Bean

    publicWheelwheel() {

    return newWheel();

    }

    }

    @Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

    @EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

    @ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

    可以关注微信公众号:【ITjishuzaji】 获取最新文章

    相关文章

      网友评论

        本文标题:从零开始学Spring Boot-01

        本文链接:https://www.haomeiwen.com/subject/sktrvxtx.html