springboot入门之一:环境搭建(续)

在上篇博客中从springboot的入门到运行一个springboot项目进行了简单讲述,详情请查看“springboot入门之一”。下面继续对springboot做讲述。

开发springboot测试类

在上篇博客中仅仅是把一个springboot环境的项目运行起来,但并没有进行实际的开发测试,下面进行开发测试,请看下面的类,

package cn.com.my.study01.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @RequestMapping("/test")
    public List test() {
        List list=new ArrayList();

        list.add("hello springboot");

        return list;
    }
}

针对上面这个类,请注意以下几点,

1、此类的位置;

2、此类使用@RestCotroller注解;

3、方法上使用@RequestMapping注解;

对于第一点类的位置暂时不做说明,第二点使用@RestController注解,这个注解在之前的springMVC的框架下是没有的,那么此注解的作用是什么那,

@RestController

这个注解其实是@controller和@ResponseBody两个注解的合集,即使用@RestController的类中的方法返回的都是JSON格式的数据。在SpringMVC中我们知道,使用@controller注解标注一个类,如果某个方法返回JSON格式的数据,那么需要在方法上加@ResponseBody注解,默认情况下返回的是逻辑页面的地址。切记,在springboot中使用了@RestController注解后,所有的方法返回的都是JSON格式的数据。

下面在来看第三点,使用@RequestMapping注解,这个注解都不陌生,在SpringMVC中就有这样一个注解,后面跟value属性可以映射请求路径,@RestMapping同样可以作用在类上,那么请求路径就是类上的路径+方法上的路径。

下面启动springboot服务,访问http://localhost:8080/test,页面如下

从上图中可以看到返回了JSON格式的数据。

springboot启动类

下面看下springboot的启动类,

package cn.com.my.study01;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Study01Application {

    public static void main(String[] args) {
        SpringApplication.run(Study01Application.class, args);
    }

}

针对上面的类,请注意以下几点,

1、此类的位置;

2、@SpringBootApplication注解;

针对第一点暂不做说明,请看第二点

@SpringBootApplication注解

此注解在SpringMVC中没有,是springboot的新注解么,其实它也是几个注解的合集,即@Configuration、@EnableAutoConfiguration、@ComponentScan。

1、@Configuration,此注解其实很熟悉,只不过使用频率可能不高,在spring中要配置一个bean,需要在bean的配置文件中,声明一个<bean></bean>标签,这样这个bean才会被加载到spring容器中,其实除了这种方式还有另外一种,那就是使用注解的方式。使用注解的方式不再需要bean的配置文件,在一个类上使用了@Configuration注解,那么这个类的作用就是一个bean的配置文件(例,application-context.xml),在使用注解的方式中如何配置类那,肯定还是注解,@Configuration的好伙伴@bean,此注解作用于方法上,此方法的返回值必须是一个Java的类实例,下面对两种方式进行对比。配置文件的方式,application-context.xml文件如下,

<bean id="myCar" class="cn.com.my.study01.config.Car"/>

使用注解的方式,

package cn.com.my.study01.config;

import org.springframework.context.annotation.Bean;

@org.springframework.context.annotation.Configuration
public class Configuration {

    @Bean
    public Car car() {
        return new Car();
    }
}

切记,使用了@configuration的类相当于bean的xml文件,类中使用了@Bean注解的方法相当于bean配置文件中的<bean></bean>标签。

2、@EnableAutoConfiguration,自动配置spring上下文。

3、@ComponentScan,自动扫描指定包下的类,并把扫描到的类注册到spring容器中,扫描的注解范围包括@Service、@Controller、@Repository注解,注意@ComponentScan这个注解有个默认扫描的范围,即springboot启动类所在的包及其下的子包,都是@ComponentScan默认的扫描范围。让我们回到之前需要注意类的包路径的地方,可以发现TestController类的包为:cn.com.my.study01.controller,springboot的启动类的包为:cn.com.my.study01,那么写的TestController是可以被扫描到的,所以这里建议把需要注册为spring容器中bean的类放在启动类的包及其子包下。

通过上面的描述,了解了@SpringBootApplication这个注解,这里还有一个疑问,如果类不在启动类所在的包及其子包下,要怎么办?

配置,@SpringBootApplication注解有配置,请看下图,

可以通过配置的方式,配置需要扫描的包及其类。可以自行实验。

现在,已经也可自行搭建SpringBoot的开发环境,也可以自行进行测试开发。

关于springboot入门的小知识就写到这里,下面会持续更新关于springboot其他方面的知识,敬请关注,

有问题欢迎指正,感谢!

原文地址:https://www.cnblogs.com/teach/p/10328287.html

时间: 2024-08-11 15:49:56

springboot入门之一:环境搭建(续)的相关文章

spring-boot入门之一——环境搭建

一.版本准备 eclipse:            Eclipse Mars.2 (4.5.2) maven:            Apache Maven 3.5.3 spring boot:    2.0.3 oracle:             oracle11g 二.数据准备 oracle自带的dept表,结构如下 创建spring boot项目,新建---->Spring Starter Project 填写版本信息,共三步: 在此时,一个spring boot项目构建完毕,但在

Selenium2(webdirver)入门之环境搭建(Java版)

Selenium2(webdirver)入门之环境搭建(Java版) 一.开发环境: 1.JDK1.6 2.Eclipse:Version: Kepler Service Release 1,下载地址:http://www.eclipse.org/downloads/ 3.Selenium:selenium-java-2.52.0.zip,下载地址:http://docs.seleniumhq.org/download/ 解压selenium-java包,这个包里面包含四部分,如下图: 二.新建

1.2 lucene入门程序环境搭建及入门代码

 lucene入门程序环境搭建及入门代码 1.1      需求 使用lucene完成对数据库中图书信息的索引和搜索功能. 1.2      环境准备 l  Jdk:1.7及以上 l  Lucene:4.10(从4.8版本以后,必须使用jdk1.7及以上) l  Ide:indigo l  数据库:mysql 5 1.3      工程搭建 l  Mysql驱动包 l  Analysis的包 l  Core包 l  QueryParser包 l  Junit包(非必须) 创建po类 1 publ

新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

Vue2.0 新手入门 - 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就写下使用总结 1. Vue2.0 推荐开发环境中一些安装就不说了 Node.js  .npm  .webpack  .vue-cli  , 自己看着安装 到最后能启动本地通过 vue-cli 建的项目,  npm run dev  ,默认的 http://localhost:8080/ 能看到页面显

scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/download/sdk.html 根据自己的机器配置选择合适的IDE: 我这里选择For scala2.11 版本的Windows 32 bit的IDE,单击即下载. scala安装: 安装包下载地址,进入官网:http://www.scala-lang.org/ 进入DOWNLOAD下,选择scala 2.11 版本,单击下载: Windows上安装scala 2.11: 单击运行sca

一、springBoot简介与环境搭建

前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBoot简单综合案例 一.springBoot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置(约定优于配置),从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力

JAVA WEB快速入门之环境搭建

前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得顺应潮流,” 精通 “ JAVA  ^ v ^,当然.NET CORE也是我同步学习与研究的方向,甚至还有PYTHON,活到老学到老. JAVA我之前也涉猎过一些,也看过一些JAVA代码,但并没有系统的学习及深入的了解JAVA WEB框架及底层原理,我准备借此机会,由基础到入门到熟练,由浅入深的全面

Angular2 快速入门 之 环境搭建

2015.10.14更新:本文的内容已经过期了,Angular2现在已经完全基于TypeScript开发了,可以移步https://github.com/flyingzl/angular2-seed 查看最新代码. 一.题记 写这篇文章呢,主要是想帮助那些想尝鲜Angular2的童鞋们,因为我自己在玩Angular2时碰到了不少坑,而且Angular2语法一直处于变化中,让人很头疼.不过也怪不了Anguar2,因为它现在是处于并长期处于alpha阶段,本文是基于最新的angular2.0.0-a

YII2的restfulAPI开发入门(1)-环境搭建

1. 准备工作 Web server: apache 或者 nginx Yii2版本: basic版本 数据库: mysql 2. 访问Yii2的web目录 ⑴ 测试Yii2环境 web/目录下创建info.php文件,文件代码为:echo phpinfo(); 输入 127.0.0.1/info.php后就能访问到 /web/info.php. 说明Yii2环境搭建成功. 3. 参数配置 ⑴ web.php (1.1) 'cookieValidationKey' => '2e268962384

01-S3C2440学习入门概念+环境搭建【转】

本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/54754812 一.心得: 这两年学过很多东西,有点杂,总感觉不够踏实,于是准备写些东西出来记录一下,希望以后复习方便,同时也给大家学习带来一点帮助.从头把JZ2440系统学习一下,希望后面学习心理会更踏实.以下只是自己学习思路,仅供大家参考. (1)嵌入式后为什么是Linux: 之前一直把嵌入式和linux弄混,到底嵌入式与Linux有什么关系呢.大部分嵌入式设备都是运行Lin