在demo里面,我们把启动方法和controller放在了一个类里面,在实际开发中,启动方法是放在一个单独的类里面的。

为此我们创建一个SpringApplication类作为单独的启动类,和Controller分离。创建目录如下:

①,Application.java

package com.springboot.application;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;@EnableAutoConfiguration(exclude = {RedisAutoConfiguration.class})
@ComponentScan("com.springboot.controller") //指定Controller所在的包,默认扫描当前包以及当前包的子包
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}}

②,IndexController.java

package com.springboot.controller;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {@RequestMapping("/index")@ResponseBodypublic String index(){return "Index";}/* @Value("${PEOPLE.name}")private String name;@Value("${PEOPLE.sex}")private String sex;*/private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@RequestMapping("/info")@ResponseBodypublic String getPeopleInfo(){return name+":"+sex;}}

启动访问:http://localhost:8088/dev/info

二,@SpringBootApplication(组合注解)

在Application启动类中,我们用了两个注解,我们可以用一个注解SpringBootApplication替换它们两个

//@EnableAutoConfiguration(exclude = {RedisAutoConfiguration.class})
//@ComponentScan("com.springboot.controller") //指定Controller所在的包,默认扫描当前包以及当前包的子包
@SpringBootApplication(scanBasePackages = {"com.springboot.controller"},exclude = {RedisAutoConfiguration.class})
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}}

SpringBootApplication注解默认扫描当前包以及当前包的子包

=========扩展=======

@RestController

这个也是一个组合注解,当一个Controller中所有的功能方法都返回restful内容时,我们就可以将@Controller换成@RestController,这样的好处时不用每个方法都使用@ResponseBody。接下来以修改IndexController为例。

①,IndexController.java

package com.springboot.controller;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@RestController
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {@RequestMapping("/index")public String index(){return "Index";}/* @Value("${PEOPLE.name}")private String name;@Value("${PEOPLE.sex}")private String sex;*/private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@RequestMapping("/info")public String getPeopleInfo(){return name+":"+sex;}}

②。启动并访问查看结果,这里我就不截图结果图了,请自行验证。

demo1项目源码:

链接:https://pan.baidu.com/s/1Zkv7a7zhB8FJV_hU284McA 
提取码:je64

七,springBoot-SpringBootApplication注解相关推荐

  1. SpringBoot核心注解@SpringBootApplication一二

    SpringBoot核心注解@SpringBootApplication,用于SpringBoot项目的启动类上,在 2.2.0.RELEASE 版本中是4个注解的组合,即 @SpringBootCo ...

  2. springboot情操陶冶-@SpringBootApplication注解解析

    承接前文springboot情操陶冶-@Configuration注解解析,本文将在前文的基础上对@SpringBootApplication注解作下简单的分析 @SpringBootApplicat ...

  3. springboot源码(二)@SpringBootApplication注解中exclude参数使用及原理

    文章目录 一.使用姿势 二.运行原理 上篇文章中, <springboot源码(一)启动流程+自动配置原理分析>,简单分析了启动流程,其中涉及到了@SpringBootApplicatio ...

  4. SpringBoot的@SpringBootApplication注解和其他几个注解

    转载自 https://blog.csdn.net/zzzgd_666/article/details/80310840 首先,我们来看看@SpringBootApplication注解代码,如下代码 ...

  5. 使用idea开发SpringBoot应用,添加@SpringBootApplication注解时,不能自动提示

    刚用idea不久,在给类添加@SpringBootApplication注解时,系统居然不能自动提示,仔细检查maven的依赖以及libararies是否有对应的jar包,发现没有问题.最后注意到是I ...

  6. SpringBoot + MyBatis(注解版),常用的SQL方法

    一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...

  7. 【SpringBoot】SpringBoot常用注解

    一.前言 首先这里说的SpringBoot常用注解是指在我们开发项目过程中,我们经常使用的注解,包含Spring.SpringBoot.SpringCloud.SpringMVC等这些框架中的注解,而 ...

  8. 神秘又强大的@SpringBootApplication注解

    作者:vivo 互联网服务器团队-Peng peng 一.前言 大部分的配置都可以用Java类+注解来代替,而在SpringBoot项目中见的最多的莫过于@SpringBootApplication注 ...

  9. 二.Springboot 常用注解

    @SpringBootApplication: 包含@Configuration.@EnableAutoConfiguration.@ComponentScan通常用在主类上. 很多SpringBoo ...

  10. springboot事物注解不生效_SpringBoot攻略三、配置文件说明

    自动配置 SpringBoot启动的时候加载主配置类(@SpringBootApplication注解修饰), @SpringBootApplication开启了自动配置功能 @EnableAutoC ...

最新文章

  1. 网页实时聊天之PHP如何实现websocket
  2. 在js中使用createElement创建HTML对象和元素_无需整理
  3. 同步数据_体验GoldenGate 18C数据同步到ADW
  4. (十七)深入浅出TCPIP之HTTP和HTTPS
  5. IDEA 创建 SpringBoot 项目
  6. C++中类和对象的一些注意事项 --- 多态
  7. (四)使用Jenkins工作流链接MLOps管道
  8. VBA处理文件框架代码 【第七部分:程序页面布局】
  9. thymeleaf使用总结
  10. 2022年计算机二级考试Java语言程序设计模拟题及答案
  11. 谷歌云盘文件快速下载方法
  12. C++_SHFileOperation文件夹操作
  13. 如何实现java编写告白程序,程序员如何实现表白代码
  14. 山西民生云 执行认证校验出错_山西民生云app最新版下载,山西民生云大同app认证官网最新版本下载 v2.2 - 浏览器家园...
  15. 计算机硬件性能及瓶颈,如何让自己的电脑没有瓶颈+硬件基础知识普及
  16. linux 释放内存
  17. 面对低谷,企业如何走出困境?
  18. RecyclerView布局中解决edittext监听错乱
  19. LabVIEW编程LabVIEW开发需要加班吗
  20. laravel validator unique

热门文章

  1. (转)(异常分析) org.hibernate.MappingException: entity class not found
  2. 怎样把d盘改成c盘!如何把收藏夹和桌面的路径设成D盘
  3. 项目总结“遇见江小丽”
  4. 中国石油大学《化工设计概论》第一阶段在线作业
  5. python爬虫数据分析项目 双十一_Python爬取淘宝商品数据,价值千元的爬虫外包项目!...
  6. 青龙面板薅羊毛教程之矿二代每日保底1R
  7. PHP微信公众号开发接口封装
  8. 【NOIP2007提高组】矩阵取数游戏
  9. [EndNote]EndNote在Word中的工具条消失了怎么办?-知乎转载
  10. 崩坏2服务器维护,崩坏学园2(日服)无法连接服务器是什么原因