大石桥网站制作,怎么做h5动态页面,wordpress 应用市场,个人信息网站建设的心得体会微服务 微服务其实是服务化思路的一种最佳实践方向#xff0c;遵循SOA#xff08;面向服务的架构#xff09;的思路#xff0c;各个企业在服务化治理上面的道路已经走得很远了#xff0c;整个软件交付链上各个环节的基础设施逐渐成熟了#xff0c;微服务就诞生了。 微服务…微服务 微服务其实是服务化思路的一种最佳实践方向遵循SOA面向服务的架构的思路各个企业在服务化治理上面的道路已经走得很远了整个软件交付链上各个环节的基础设施逐渐成熟了微服务就诞生了。 微服务给我们也带来了很多挑战服务“微”化之后一个显著的特征就是服务的数量增多了。如果将软件开发和交付也作为一种生产模式的看待那么数量众多的微服务实际上就类似于传统生产线上的产品而在传统生产模式下为了能够高效地生产大量产品通常采用的就是标准化生产。 学习 Spring Boot只是简化了spring 全家桶的配置它使用“习惯优于配置”Convention Over Configuration 项目中存在大量的配置此外还内置了一个习惯性的配置让你无需手动进行配置的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行运行jar,内嵌Servlet容器、准生产级别的基于Spring框架的项目使用Spring Boot你可以不用或者只需要很少的Spring配置。 核心
自动配置针对很多Spring应用程序常见的应用功能Spring Boot能自动提供相关配置。起步依赖告诉Spring Boot需要什么功能它就能引入需要的库。命令行界面这是Spring Boot的可选特性借此你只需写代码就能完成完整的应用程序无需传统项目构建。Actuator让你能够深入运行中的Spring Boot应用程序一探究竟。
入门搭建一个Spring Boot Web
初始化
我是使用的IDEA它已经集成了Spring Boot。 选择file - 新建一个项目选择Spring Initializr 注意我选择的jdk 是1.8 推荐使用1.8 好像低版本的1.5 、1.6有限制还有就是现在最新版本1.5.9的Spring Boot还不支持jdk9。
next -》 next 选择Spring Boot 版本选择需要的模块我们开始学习就使用默认的Web模块。
结构
初始化完成后会生成几个文件项目结构
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src├── main│ ├── java│ │ └── com│ │ └── example│ │ └── DemoApplication.java│ └── resources│ ├── application.properties│ ├── static│ └── templates└── test└── java└── com└── example└── demo└── DemoApplicationTests.javapom.xmlMaven构建说明文件。*Application带有main()方法的类用于启动应用程序。*ApplicationTests一个空的Junit测试类它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。application.properties一个空的properties文件用于配置项目的相关属性。static存放相关静态文件template 存放模板渲染文件。
pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.wuwii/groupIdartifactIdlearn-spring-boot/artifactIdversion0.0.1-SNAPSHOT/versionpackagingjar/packagingnamelearn-spring-boot/namedescriptionDemo project for Spring Boot/descriptionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.5.9.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project使用的是Spring Boot父级依赖
spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖使用它之后常用的包依赖可以省去version标签。
起步依赖 spring-boot-starter-xx
Spring Boot提供了很多”开箱即用“的依赖模块都是以spring-boot-starter-xx作为命名的。举个例子来说明一下这个起步依赖的好处比如组装台式机和品牌机自己组装的话需要自己去选择不同的零件最后还要组装起来期间有可能会遇到零件不匹配的问题。耗时又消力而品牌机就好一点买来就能直接用的后续想换零件也是可以的。相比较之下后者带来的效果更好点这里就不讨论价格问题哈起步依赖就像这里的品牌机自动给你封装好了你想要实现的功能的依赖。就比如我们之前要实现web功能引入了spring-boot-starter-web这个起步依赖。
起步依赖本质上是一个Maven项目对象模型Project Object ModelPOM定义了对其他库的传递依赖这些东西加在一起即支持某项功能。很多起步依赖的命名都暗示了它们提供的某种或者某类功能。
Spring Boot Maven插件
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins
/build把项目打包成一个可执行的超级JARuber-JAR,包括把应用程序的所有依赖打入JAR文件内并为JAR添加一个描述文件其中的内容能让你用java -jar来运行应用程序。搜索public static void main()方法来标记为可运行类。
运行
现在添加一个接口来启动项目运行
package com.wuwii.learnspringboot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
SpringBootApplication
public class LearnSpringBootApplication {RequestMapping(/)public String index() {return Hello World;}public static void main(String[] args) {SpringApplication.run(LearnSpringBootApplication.class, args);}
}
启动方式
SpringBootApplication是Sprnig Boot项目的核心注解主要目的是开启自动配置。后续讲解原理的时候再深入介绍。main方法这是一个标准的Java应用的main的方法主要作用是作为项目启动的入口直接运行它的main() 函数。使用命令 mvn spring-boot:run”在命令行启动该应用IDEA中该命令在如下位置 运行“mvn package”进行打包时会打包成一个可以直接运行的 JAR 文件使用“java -jar”命令就可以直接运行。
总结
了解Spring Boot 的基本结构和相关属性的概念启动和运行方式。