您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > springBoot笔记
1.SpringBoot入门SpringBoot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现RubyonRails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。SpringBoot具有如下特性:为基于Spring的开发提供更快的入门体验开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求。提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。SpringBoot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。1.1简单例子首先创建一个一般的Maven项目,有一个pom.xml和基本的src/main/java结构。1.1.1pom.xml文件projectxmlns=:xsi=:schemaLocation=://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.nes.spring.boot/groupIdartifactIdSpringBootDemo1/artifactIdversion0.0.1-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.3.0.RELEASE/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependenciesbuildplugins!--Compile--plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion2.5.1/versionconfigurationsource1.7/sourcetarget1.7/target/configuration/plugin!--springbootmavenplugin--plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIddependenciesdependencygroupIdorg.springframework/groupIdartifactIdspringloaded/artifactIdversion1.2.5.RELEASE/version/dependency/dependencies/plugin/plugins/build/project1.1.2对pom的说明首先是增加了parent,增加父pom比较简单,而且spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写version版本号。使用父pom虽然简单,但是有些情况我们已经有父pom,不能直接增加parent时,可以通过如下方式:dependencyManagementdependenciesdependency!--ImportdependencymanagementfromSpringBoot--groupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion1.2.3.RELEASE/versiontypepom/typescopeimport/scope!—这个地方--/dependency/dependencies/dependencyManagement1.1.3关于java.version属性上面pom.xml虽然没有出现这个属性,这里要特别提醒。Spring默认使用jdk1.6,如果你想使用jdk1.8,你需要在pom.xml的属性里面添加java.version,如下:propertiesjava.version1.8/java.version/properties1.1.4添加spring-boot-starter-web依赖Spring通过添加spring-boot-starter-*这样的依赖就能支持具体的某个功能。我们这个示例最终是要实现web功能,所以添加的是这个依赖。更完整的功能列表可以查看:Using-boot-starter-poms1.1.4添加spring-boot-maven-plugin插件该插件支持多种功能,常用的有两种,第一种是打包项目为可执行的jar包。在项目根目录下执行mvnpackage将会生成一个可执行的jar包,jar包中包含了所有依赖的jar包,只需要这一个jar包就可以运行程序,使用起来很方便。该命令执行后还会保留一个XXX.jar.original的jar包,包含了项目中单独的部分。生成这个可执行的jar包后,在命令行执行java-jarxxxx.jar即可启动项目。另外一个命令就是mvnspring-boot:run,可以直接使用tomcat(默认)启动项目。在我们开发过程中,我们需要经常修改,为了避免重复启动项目,我们可以启用热部署。1.1.6spring-loaded热部署Spring-Loaded项目提供了强大的热部署功能,添加/删除/修改方法/字段/接口/枚举等代码的时候都可以热部署,速度很快,很方便。想在SpringBoot中使用该功能非常简单,就是在spring-boot-maven-plugin插件下面添加依赖:!--支持热部署--dependencygroupIdorg.springframework/groupIdartifactIdspringloaded/artifactIdversion1.2.5.RELEASE/version/dependency添加以后,通过mvnspring-boot:run启动就支持热部署了。注意:使用热部署的时候,需要IDE编译类后才能生效,你可以打开自动编译功能,这样在你保存修改的时候,类就自动重新加载了。1.2创建一个应用类我们创建一个Application类:@RestController@EnableAutoConfigurationpublicclassApplication{@RequestMapping(/)Stringhome(){returnHelloWorld!;}@RequestMapping(/now)Stringhehe(){return现在时间:+(newDate()).toLocaleString();}publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}1.2.1注意SpringBoot建议将我们main方法所在的这个主要的配置类配置在根包名下。com+-example+-myproject+-Application.java+-domain|+-Customer.java|+-CustomerRepository.java+-service|+-CustomerService.java+-web+-CustomerController.java在Application.java中有main方法。因为默认和包有关的注解,默认包名都是当前类所在的包,例如@ComponentScan,@EntityScan,@SpringBootApplication注解。(都是安当前Application.java所在包作为Scan扫描)1.2.2@RestController因为我们例子是写一个web应用,因此写的这个注解,这个注解相当于同时添加@Controller和@ResponseBody注解。1.2.3@EnableAutoConfigurationSpringBoot建议只有一个带有该注解的类。@EnableAutoConfiguration作用:SpringBoot会自动根据你jar包的依赖来自动配置项目。例如当你项目下面有HSQLDB的依赖时,SpringBoot会创建默认的内存数据库的数据源DataSource,如果你自己创建了DataSource,SpringBoot就不会创建默认的DataSource。如果你不想让SpringBoot自动创建,你可以配置注解的exclude属性,例如:@Configuration@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})publicclassMyConfiguration{}1.2.4@SpringBootApplication由于大量项目都会在主要的配置类上添加@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解。因此SpringBoot提供了@SpringBootApplication注解,该注解可以替代上面三个注解(使用Spring注解继承实现)。1.2.5启动项目SpringApplication.run启动SpringBoot项目最简单的方法就是执行下面的方法:SpringApplication.run(Application.class,args);该方法返回一个ApplicationContext对象,使用注解的时候返回的具体类型是AnnotationConfigApplicationContext或AnnotationConfigEmbeddedWebApplicationContext,当支持web的时候是第二个。除了上面这种方法外,还可以用下面的方法:SpringApplicationapplication=newSpringApplication(Application.class);application.run(args);SpringApplication包含了一些其他可以配置的方法,如果你想做一些配置,可以用这种方式。除了上面这种直接的方法外,还可以使用SpringApplicationBuilder:newSpringApplicationBuilder().showBanner(false).sources(Application.class).run(args);当使用SpringMVC的时候由于需要使用子容器,就需要用到SpringApplicationBuilder,该类有一个child(xxx...)方法可以添加子容器。1.3运行在IDE中直接直接执行main方法,然后
本文标题:springBoot笔记
链接地址:https://www.777doc.com/doc-4353752 .html