【原创】Spring-boot快速入门(一)HelloWord!--转载请注明出处
来源:互联网 发布:淘宝有毛片吗 编辑:程序博客网 时间:2024/06/10 19:23
Spring-boot快速入门(一)HelloWord!
一、Spring-boot简介
1. Spring-boot介绍
Spring-boot是一款将Spring4.X版本Spring族群进行整合的一款框架,继承了来自于Spring族群的绝大部分功能,在Spring4.X中提供了自动注入的情况下,继续进行配置简化,实现了完全摆脱 xml 配置,让用户可以更加快速的进行配置,部署。
2. Spring-boot内嵌Tomcat容器
Spring-boot自己具有一个内嵌的Tomcat容器,当前1.5.2的Spring-boot下所进行内嵌的是tomcat7,用户也可以自己进行选择内嵌的web容器。也因为它内嵌的tomcat容器,因此实现了不需要war包,服务器也不需要拥有tomcat,只需要在服务器上配置好jre,然后将项目打包成jar,通过java -jar xx.jar直接运行。
3. Spring-boot-starter-web
Spring提供了一系列的starter pom来简化Maven的依赖,以往需要引入的大量maven jar包,现在只需要引入一个,或者几个jar即可。
4. Spring-boot的bean配置
Spring-boot会自动根据类路径中的jar包进行自动配置bean,减少了一部分常用的bean配置,但是遇到没有进行自动配置的bean,我们仍然是可以进行手动配置的。在Spring-boot中,配置bean主要分为五种方式。
第一种为使用application.yml文件进行配置,该文件类型为Spring新增的一种文件类型,是Spring-boot官方推荐的配置方式,但是将整个项目的所有配置集中在一个文件中,也是有待商榷的,在以下的内容中,将会以这种形式进行配置。
第二种为注解注入形式,Spring4.x中引入了autowried注解,该注解可以实现自动注入,也可以通过resource进行注入。
第三种方式为Configuration类进行注入,声明一个Configuration类,然后将该类纳入Spring的扫描中,并使用Configuration注解即可。
第四种也是我们最常使用的一种,xml文件配置,xml文件的引入只需要在运行的程序入口main方法类上添加注解ImportResource即可,但是Spring-boot官方并不推荐这种方式。
第五种方式则是使用properties文件进行配置,这种方式与yml文件类似,但是我更喜欢使用yml文件。
二、Spring-boot五分钟快速demo
在该demo中,将会利用Spring-boot中所集成的SpringMVC实现一个最简单的页面访问。
以下示例所使用的IDE为IntelliJ IDEA,以下将不使用eclipse进行项目搭建。
首先使用idea创建一个基础的Spring-boot项目,在进行创建时的截图如下:
第一步:使用idea中的Spring-Initializr进行创建项目,如果是新安装的jdk,需要选择projectSDK,这里在进行选择sdk时,如果jdk的文件夹名称不是安装时的默认名称,可能会出现找不到jdk问题。
第二步:填写maven的Group和Artifact。
第三步:选择要进行使用的jar包,如果进行了勾选,则会自动的集成进选中的内容,我们在这里不做勾选。
注意:在第一次进行创建Spring-boot项目时,会自动从远程获取jar包,因为是国外的网站,所以会比较慢。
项目创建完成后进行如下操作:
1.将resource文件夹下的application.properties文件重命名为.yml文件备用。
1.5.有可能存在因为idea的版本不同而导致没有自动导入jar包的问题,如果出现则在pom.xml添加以下依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
2.并且在现有的包结构下,创建一个controller包
3.在包中创建一个类,AppController,在该类中添加以下代码:
package com.zhou.boot.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@RequestMapping("/")public class AppController { @RequestMapping("hello") @ResponseBody public String hello(){ return "helloWord"; }}
访问地址:localhost:8080/hello可以看到我们的第一个HelloWord。
三、静态html等资源访问
在Spring-boot项目中,不再如我们以往的web项目,不再具有web文件夹,此时,我们需要将所有的资源类文件放在resource文件夹下。如下图:
在添加了index.html文件以后,还需要在application.yml文件中添加如下配置:
spring:
mvc:
static-path-pattern: static/**
resources:
static-locations: classpath:/static/
这里我们配置上的内容中,static-path-pattern为在进行访问静态文件时的地址前缀,在static-locations中配置的内容则是文件静态文件的所在位置。在这个位置下的静态文件是可以被访问的。在进行如下配置以后,我们可以通过访问localhost:8080/static/index.html进行对这个静态页面的访问,其中url中的static为static-path-pattern所配置的地址,拆解的访问地址为:
ip地址:端口号/tomcat访问地址/static-path-pattern/文件所在路径。
访问结果如下图:
如果需要对端口号和tomcat访问路径进行修改,可以在application.yml下添加如下配置:
server:
port: 8090
context-path:/hello
如果希望使用SpringMVC访问静态资源,可以添加如下配置在MVC后:
view:
prefix: /static
suffix:.html
添加完成后全部为
server:
port: 8090
context-path:/hello
spring:
mvc:
static-path-pattern: static/**
view:
prefix: /static
suffix:.html
resources:
static-locations: classpath:/static/
然后访问地址localhost:8090/hello/index将会跳转到以下界面:
至此,我们的第一部分,MVC的HelloWord已经完成。
- 【原创】Spring-boot快速入门(一)HelloWord!--转载请注明出处
- 【原创】Spring-boot快速入门(二)JPA数据源--转载请注明出处
- [原创]WCF入门级使用教程(转载请注明出处)
- sas proc sql 基础入门 (原创作品,转载请注明出处 )
- Discuz的安装 (原创帖,转载请注明出处)
- LAMP环境搭建 (原创帖,转载请注明出处)
- 查看/关闭SElinux (原创帖,转载请注明出处)
- 尊重原创,转载请注明出处
- 转载请注明出处
- 异步交互技术在工程中的运用与思考(一)iframe(原创 ,转载请注明出处)
- 关于原始输入--XP新技术(原创,转载请注明出处)
- S3C2450自动升级[原创作品,转载请注明出处]
- S3C2450自动升级[原创作品,转载请注明出处]
- Apache2.4权限配置(原创帖-转载请注明出处)
- 文章为原创,转载请注明出处,欢迎评论。
- Mysql空用户导致数据库登陆故障处理 (原创帖,转载请注明出处)
- Tomca不生产日志 (原创帖,转载请注明出处)
- 查看文件时去除注释说明内容(原创贴-转载请注明出处)
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- WEB前端开发人员须知的常见浏览器兼容问题及解决技巧
- Python for循环之查找下一个记录
- Android xUtils3源码解析之数据库模块
- Eclipse如何正确的从svn中检出maven项目
- 【原创】Spring-boot快速入门(一)HelloWord!--转载请注明出处
- 0-1背包问题(动态规划)
- Copy Elision
- 计算文件大小
- grunt代码混淆
- Linux下使用yum安装MariaDB
- 分库,分表,主从,集群,负载均衡器
- iOS中的Attribute-富文本文字
- LinkedList源码分析