【楔子】 在学习Spring之前,大概大家对于Spring的历史很感兴趣,不过网上的JavaEE,JavaSE,JavaME
把你晃得眼花缭乱,还有J2EE J2SE J2ME,不过这些已经过时,这三个是JavaEE,JavaSE,JavaME的前身。这JavaEE,JavaSE,JavaME三个对应的是web开发,pc应用开发和手机移动开发。Spring的出现时为了替代EJB在JAVA EE里面的应用,EJB包括会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean),我之前使用过EJB简直累死人,所以弃疗选择Spring,Spring是一个伟大的框架,简化开发流程,核心功能ioc和aop感兴趣的查下,通过重要的容器代理和依赖注入简化流程。不过所有的依赖都是建立在pom.xml里面,需要自己手敲十分麻烦,依赖的包一个个添加。在刚开始Spring被广大程序员爱好的同时,也因为复杂的配置文件被人所诟病,因此SpringBoot就横生而出。
【准备】Eclipse是传统开发IDE,为了使用新潮更方便的开发工具,推荐IDEA,社区版本是免费的,旗舰版需要付费,不过我天朝人民没有什么不能破解的,自己网上搜吧,安装JDK,就万事具备。
================================
【demo】想要显示一个论坛欢迎页,不想配置tomcat等web应用参数,SpringBoot管家来袭
【创建】创建一个Maven,建立一个java文件。
如图示:
【配置pom.xml】:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.smart</groupId> <artifactId>chapter2</artifactId> <version>1.0</version> <!--添加一个Boot Web 启动器--> <dependencies> <!--添加一个Boot Web 启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.3.3.RELEASE</version> </dependency> </dependencies> </project>
可以看到添加的Springboot代码只有短短的几行,但是你们知道它包含了多少个依赖包么,在pom代码页
右键Diagram->show Dependencies
这就是加载进来的所有依赖包了,其中比较重要的依赖包就是:spring-web,spring-webmvc,jackson-databind
【编写javaBbsdemo】:我数了下就4行代码就能不手动配置任何环境运行我们的论坛
package com.smart; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration public class BbsDemo { @RequestMapping("/") public String index(){ return "欢迎光临ee论坛"; } public static void main(String[] args) throws Exception{ SpringApplication.run(BbsDemo.class,args); } }
关键代码:
@EnableAutoConfiguration
对Spring框架进行自动配置,由Boot提供,减少开发人员工作量,不加的话不可以哦
@RestController @EnableAutoConfiguration
这两个注解是由SpringMVC提供的,用于创建Rest服务
【实现效果】
运行BbsDemo会启动运行于8080端口内嵌Tomcat服务
在浏览器访问“http://localhost:8080”
显示效果如下
【回顾】到这里论坛欢迎页建设完成,代码非常简单,不过其中需要思考的很多,知道如果不采用SpringBoot,Pom里面配置会是如何复杂么?
类似如此:
会让人崩溃,所以代码写完了,多想想前人的智慧
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yiibai</groupId>
<artifactId>webproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- Embedded Apache Tomcat required for testing war -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
tips:注意重新运行先关掉前一个运行的BbsDemo,要不会出现端口占用的报错哦。
如下图示:点红色框框关掉此程序再重新运行。
相关推荐
植物横扫僵尸,自己编译了一下,能运行,游戏系统比较完全,包打打下来7M,看着想别人线下推广的游戏。
这个游戏不要打排位不要打排位不要打排位,重要的事要说三遍。否则劝退率极高。国外大佬横行霸道,分分钟夺走你的指挥官性命,所以新手而言建议先从简单人机打,可以参与国人的多人游戏。 横扫千星的英文名字叫...
自己做的U3D的游戏,跟横扫僵尸几乎一样,有源代码,有U3D整个完整的工程包,可以供初学者学习,或者中高级开发者改造,提供了2D插件。
包括springcloud和linux,SSM,springboot等 一、 20天横扫Java基础(课堂实录) 二、 Java基础实战——Bank项目 三、 _ORACLE、SQL、PLSQL 视频教程
Linux将横扫嵌入式市场.pdf
通达信指标公式源码 相当精准的横扫天下 副图.doc
通达信指标源码公式高价买的横扫整个中国股市的买卖点指标,准确度精确,成功率极高.doc
根据三星官方Galaxy s7页面整理出的效果,进入页面后,手机...由逐浪技术小哥抠出来,并提供云端加载呈现(小技巧:手机移动的图片由280张图片构成,可以使用Flashget等工具进行批量下载,本实例已经全部下好提供:)
连锁店正横扫美国吗? (2007年)
程序员面试笔试真题库
根据三星官方Galaxy s7页面整理出的效果,进入页面后,手机镜头自动左右旋转,可以用于手机拍摄效果的展示,也可以用于企业办公室展示、商业活动展示,非常有意义的页面。 由逐浪技术小哥抠出来,并提供云端加载呈现...
最终以3:0横扫Gen.G,完成了联赛三连冠。而Faker也和T1一起拿到了九冠王的成就。 2020LCK春季赛决赛T1夺冠Faker九冠王 2020年4月25日《英雄联盟》LCK赛区春季赛决赛落下帷幕,T1战队3:0横扫GEN.G夺得他们的第九冠...
为了搞清纵轴式掘进机截割时的垂直振动情况和司机的舒适性,建立了掘进机整机-座椅的阻尼减振模型,以国际标准ISO 2631作为舒适性评价指标,在掘进机横扫和钻进两种典型工况下,分析了座椅系统的刚度-阻尼参数特性,...
">他所带领的军队以锐不可挡之势,横扫大江南北,可以说是在父兄基业上既往开来,成就了一番伟业。原本偏安一隅的小国,从他的手中变成了十三个州,国人对这位领袖的敬意由然而生。威望的增加、权利的扩张丝毫没有...
2017年,围棋界发生了一件比较重要的事,Master(AlphaGo)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类的面前。围棋曾经一度被称为“人类智慧的堡垒”,如今,这座堡垒也随之成为...