入坑第一战,尽量写得详细点,也是给自己copy配置的地方,话不多说,开干。
1、新建个空项目,idea是社区版的不多说了。
2、maven配置也不多说了,能用就行
3、目录结构手动补全,麻雀虽小五脏俱全,该有的东西还是要有。
4、开始进入正题,依赖冲突是开发时非常常见的问题了,通过springboot-parent来管理java版本和其他依赖类库的版本,使用jar包时版本号尽量都由springboot来管理,无形中减少了大量依赖冲突问题。
5、引入核心依赖spring-boot-starter-web,这里集成了tomcat、validator(Hibernate参数校验及校验API)、springweb、springmvc、spring-core、beans、context上下文、AOP面向切面、注解、logging、配置等依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
6、配置文件里加上服务对外的端口号(yml和proterties用哪个就不抬杠了,见仁见智吧)
7、使用springboot基于Servlet开发springmvc风格的rest接口(springmvc简单好用生产中非常常见,servlet是用java写的稳定性高性能很好,但是这里仅做示范使用。个人更偏爱微服务中Java Chassis 基于 Vert.x 的RPC风格,后面都会用PRC调用)
8、通过添加SpringbootApplication注解,拉起注入诸上下文、资源文件、bean对象管理日志对象、配置文件等等一坨坨springboot运行时要用的东西。
9、运行服务 (日志上可以看到springboot运行的顺序 -先刷新注解配置的上下文-初始化tomcat端口-启动tomcat-启动servlet引擎-读取apache的本地系统文件(此处是报错缺少Apache Portable Runtime(APR)所需的文件,本地性能会稍差可以不理会)-初始化spring的上下文-加载过滤器-匹配springmvc的的配置信息-注册对象-jvm启动OK)
10、访问自定义的rest接口,并携带query信息