SpringBoot是由Pivotal团队研发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data- jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。简单来说,SpringBoot就是一个启动器。
SpringBoot项目不需要模板化的配置。 SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。 SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java的文件去编写配置信息。 SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,并且提供了多环境的配置。 后期要学习的微服务框架SpringCloud需要建立在SpringBoot的基础上。
New Project
Spring Initializer Project Setting
选择版本和所需依赖
填写项目名称和本地存储路径
如果Spring官方的快速构建加载出现问题,可以使用aliyun提供的Spingboot快速构建。
aliyun快速构建Springboot
其他步骤与Spring官方构建一致
>
使用Spring官方和aliyun快速构建的Springboot项目是有一些差距的,其实项目结构上没有本质的差距,只是在pom.xml文件中会出现一系列差距! aliyun使用并维护着Spring全家桶的2.3版本,其中加入了一些编码字符集处理与之aliyun所维护的依赖等 Spring官方使用并维护着Spring全家桶的2.3.2版本,其中维护使用着Spring官方依赖等
使用Spring官方和aliyun快速构建的Springboot项目是有一些差距的,其实项目结构上没有本质的差距,只是在pom.xml文件中会出现一系列差距!
注意: 两者没有本质差别,我们只需要使用即可!
此核心依赖有着Spring的大多数web依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
直接访问路径即可出现页面并响应在浏览器上!
@RestController public class TestController { @GetMapping("/test") public String test(){ return "Hello SpringBoot!"; } }
Springboot目录结构
运行启动类的main方法
使用Maven启动(mvn spring-boot:run)
首先,Springboot打包方式是jar的方法。默认使用maven 的package打包,而随之也会触发springboot内置的springboot:repackage,而springboot的内置再次打包会在此jar文件的基础上内置一个tomact,也即是说使用Springboot打包的jar文件是可以执行的!
springboot:repackage
打包展示
DOS命令行执行
</td> </tr>
java -jar jar文件路径/jar包名字
</td> </tr> </table>
之前使用SSM去开发时,在xml文件中编写bean标签,但是SpringBoot不推荐使用xml文件。 @Configuration注解相当于beans标签 @Bean注解相当于bean标签 id=“方法名 | 注解中的name属性(优先级更高)” class=“方法的返回结果”
如下,举例子。
@Configuration // 代表当前类是一个配置类 public class UserConfig { @Bean(name = "user1") // 构建一个实例,放到spring容器中 public User user(){ User user = new User(); user.setId(1); user.setName("张三"); return user; } /* 与其相同作用 <beans ....> @Configuration <bean id="user1" class="com.ziphtracks.firstspringboot.bean.User" /> </beans> */ }
@SpringBootApplication就是一个组合注解:
@SpringBootConfiguration
@Configuration
@EnableAutoConfiguration
SpringBoot
SpringFactoriesLoader
注意: 你完全可以通过上述所说去翻看以下该注解的源码
源码
该注解用于测试启动项中,用于启动测试的注解
测试启动项注解配置
SpringBoot的配置文件支持properties和yml,甚至他还支持json。 更推荐使用yml文件格式: yml文件,会根据换行和缩进帮助咱们管理配置文件所在位置 yml文件,相比properties更轻量级一些
SpringBoot的配置文件支持properties和yml,甚至他还支持json。
更推荐使用yml文件格式:
yml文件,会根据换行和缩进帮助咱们管理配置文件所在位置
yml文件,相比properties更轻量级一些
yml文件的注意事项: 严格遵循换行和缩进 在填写value时,一定要在: 后面跟上空格
yml文件的注意事项:
严格遵循换行和缩进
在填写value时,一定要在: 后面跟上空格
在application.yml文件中添加一个配置项: 可以使用逗号( , )来激活多个环境 如下我创建了两个开发配置,一个用来开发的配置(dev)、另一个用来测试的配置(test),随后使用总的配置来激活这两个配置环境。
在application.yml文件中添加一个配置项:
可以使用逗号( , )来激活多个环境
如下我创建了两个开发配置,一个用来开发的配置(dev)、另一个用来测试的配置(test),随后使用总的配置来激活这两个配置环境。
多环境配置
和传统的SSM方式一样,通过@Value的注解去获取properties/yml文件中的内容。 如果在yml文件中需要编写大量的自定义配置,并且具有统一的前缀时,采用如下方式
和传统的SSM方式一样,通过@Value的注解去获取properties/yml文件中的内容。
如果在yml文件中需要编写大量的自定义配置,并且具有统一的前缀时,采用如下方式
// Java程序 @ConfigurationProperties(prefix = "aliyun") @Component @Data public class AliyunProperties { private String name; private Integer age; } // 配置文件 aliyun: name: Ziph age: 18
在做SSM项目时,我们会用到IDEA插件JRebel热部署神器来方便开发。因为热部署很受大家爱戴,所以Springboot也提供了热部署功能。如下:
导入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <table> <tr> <th>
IDEASetting相关配置
**Springboot启动项设置**  ### 七、Springboot创建web目录 > static文件夹是存储静态资源的,而我们的动态资源还是需要web目录结构存储的,于是我们创建一个web目录结构! _导入JSP以及JSTL核心依赖_
<!--JSP核心引擎依赖--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!--JSTL--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
创建webapp以及WEB-INF等web目录结构
添加web.xml
展示web目录结构
原文链接:https://www.cnblogs.com/ziph/p/13463709.html