网站设计论文结论,社交平台推广,成都公司注册核名,帝国cms地方门户网站模板简化spring应用开发#xff0c;约定大于配置 简化Spring应用开发的一个框架#xff1b; 整个Spring技术栈的一个大整合#xff1b; J2EE开发的一站式解决方案#xff1b; 优点#xff1a; 快速创建独立运行的spring项目以及于主流框架集成 使用嵌入式的Servlet容器#x… 简化spring应用开发约定大于配置 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 优点 快速创建独立运行的spring项目以及于主流框架集成 使用嵌入式的Servlet容器应用无需打成war包 Starters自动依赖和版本控制 大量的自动装配简化开发也可以修改默认值 无需配置XML无代码生成开箱即用 准生产环境的运行时应用监控 与云计算的天然集成 微服务
一个单体应用程序把他所有的功能放在一个单一进程中并且通过在多个服务器上复制这个单体进行扩展一个微服务架构把每个功能元素放进一个独立的服务中并且通过跨服务器分发这些服务进行拓展只在有需要时才复制
环境设置 1.maven的settings.xml配置文件的profiles标签加以下
profile
idjdk‐1.8/id
activationactiveByDefaulttrue/activeByDefault
jdk1.8/jdk
/activation
propertiesmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetmaven.compiler.compilerVersion1.8/maven.compiler.compilerVersion
/properties
/profile2.IDEA设置 在IDEA的初始点击settings然后找到maven 改为自己的maven 和仓库 创建springboot项目 1.点击创建mavenjar)
2.自己改名字
3.导入springboot的依赖
parent
groupIdorg.springframework.boot/groupId
artifactIdspring‐boot‐starter‐parent/artifactId
version1.5.9.RELEASE/version
/parent
dependencies
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring‐boot‐starter‐web/artifactId
/dependency
/dependencies4.编写主程序启动springboot应用 加注解SpringBootApplication来标注主程序类说明这是一个Spring Boot应用
SpringBootApplication
public class Springboot01Application {public static void main(String[] args) {//spring应用启动起来SpringApplication.run(Springboot01Application.class, args);}}
5.编写相关的业务 Controller
public class HelloController {ResponseBodyRequestMapping(/hello)public String hello(){return hello world;}
}启动springboot的主程序 以前是把这些打成war包导入tomacat里面很麻烦 6.简化部署 这个插件可以将应用打成一个可执行的jar包放入pom.xml里面
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build点击package 将应用打包结果放在target目录下将其复制到桌面自带tomacat 在终端输入以上命令就可以在服务器访问
7.入门案例研究 1.pom文件
1.父项目
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.4/versionrelativePath/ !-- lookup parent from repository --/parent
他的父项目是
parent
groupIdorg.springframework.boot/groupId
artifactIdspring‐boot‐dependencies/artifactId
version1.5.9.RELEASE/version
relativePath../../spring‐boot‐dependencies/relativePath
/parent
他来真正管理Spring Boot应用里面的所有依赖版本
Spring Boot的版本仲裁中心
以后我们导入依赖默认是不需要写版本没有在dependencies里面管理的
依赖自然需要声明版本号2.导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencyspring-boot-starterspring-boot场景启动器帮我们导入了web模块正常运行所依赖的组件 Spring Boot将所有的功能场景都抽取出来做成一个个的starters启动器只需要在项目里面引入这些starter 相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器 2.主程序类主入口类 SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类SpringBoot就应该运行这个类的main方法来启动SpringBoot应用 组成 Retention(RetentionPolicy.RUNTIME) Documented Inherited
SpringBootConfiguration EnableAutoConfiguration
ComponentScan(excludeFilters {Filter(type FilterType.CUSTOM,
classes TypeExcludeFilter.class), Filter(type FilterType.CUSTOM, classes AutoConfigurationExcludeFilter.class) })
public interface SpringBootApplication { 1.SpringBootConfiguration:Spring Boot的配置类 标注在某个类上表示这是一个Spring Boot的配置类 Configuration:配置类上来标注这个注解 配置类 ----- 配置文件 2.EnableAutoConfiguration开启自动配置功能 以前我们需要配置的东西SpringBoot帮我们自动配置EnableAutoConfiguration告诉SpringBoot开启自动配置功能 这样自动配置才能生效AutoConfigurationPackage Import(EnableAutoConfigurationImportSelector.class) public interface EnableAutoConfiguration { AutoConfigurationPackage自动配置包 Import(AutoConfigurationPackages.Registrar.class) Spring的底层注解Import给容器中导入一个组件导入的组件AutoConfigurationPackages.Registrar.class将主配置类SpringBootApplication标注的类的所在包及下面所有子包里面的所有组件扫描到Spring容器 Import(EnableAutoConfigurationImportSelector.class)给容器中导入组件 EnableAutoConfigurationImportSelector导入哪些组件的选择器 将所有需要导入的组件以全类名的方式返回这些组件就会被添加到容器中 会给容器中导入非常多的自动配置类xxxAutoConfiguration就是给容器中导入这个场景需要的所有组件并配置好这些组件 有了自动配置类免去了我们手动编写配置注入功能组件等的工作 SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader) SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值将这些值作为自动配置类导入到容器中自动配置类就生效帮我们进行自动配置工作以前我们需要自己配置的东西自动配置类都帮我们 J2EE的整体整合解决方案和自动配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar