博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(五)Spring Boot之@RestController注解和ConfigurationProperties配置多个属性
阅读量:6518 次
发布时间:2019-06-24

本文共 2467 字,大约阅读时间需要 8 分钟。

一、@RestController和@Controller的区别

  • @RestController注解相当于@ResponseBody + @Controller合在一起的作用。
  1. 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。例如:本来应该到success.jsp页面的,则其显示success.

     

  2. 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。

     

  3. 如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

 

 二、ConfigurationProperties配置方式

   2.1  配置一个MySqlProperties

package com.shyroke.config;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix = "mysql")public class MySqlProperties {    private String jdbcName;    private String dbUrl;    private String userName;    private String password;    public String getJdbcName() {        return jdbcName;    }    public void setJdbcName(String jdbcName) {        this.jdbcName = jdbcName;    }    public String getDbUrl() {        return dbUrl;    }    public void setDbUrl(String dbUrl) {        this.dbUrl = dbUrl;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

 

  2.2  配置application.properties  

server.port=8088welcome=spring boot \u4F60\u597Dmysql.jdbcName=com.mysql.jdbc.Drivermysql.dbUrl=jdbc:mysql://localhost:3306/db_bootmysql.userName=rootmysql.password=

 

  2.3  编写控制器

package com.shyroke.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.shyroke.config.MySqlProperties;@RestController@RequestMapping(value="/hello")public class HelloWorldController {        @Value("${welcome}")    private String welcome;        @Autowired    private MySqlProperties MySqlProperties;        @RequestMapping(value="/login")    public String login() {        return "mysql.jdbcName:"+MySqlProperties.getJdbcName()+"
" +"mysql.dbUrl:"+MySqlProperties.getDbUrl()+"
" +"mysql.userName:"+MySqlProperties.getUserName()+"
" +"mysql.password:"+MySqlProperties.getPassword(); }}

 

  2.4  结果

 

转载于:https://www.cnblogs.com/shyroke/p/8017403.html

你可能感兴趣的文章
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>
使用Swoole加速Laravel(正式环境中)
查看>>
mockjs让前端开发独立于后端
查看>>
1.4linux单用户模式下修改root密码和救援模式修改root密码
查看>>
微服务架构优缺点
查看>>
解读userenv的日志
查看>>
ext3与ext4区别
查看>>
UNIX/Linux 系统管理技术手册阅读(三)
查看>>
btrfs的使用(案例讲解)
查看>>
安装配置samba服务器和客户端
查看>>
filebeat 配置文件详解
查看>>
Swift与OC混编
查看>>
CentOS 5 (64位)下lnmp平台搭建
查看>>
redhat 6.5 配置WAS控制台中文
查看>>
记录一次处理https监听不正确的过程
查看>>
SCOM 2012 SP1服务器上安装和配置Veeam MP for VMware
查看>>
多核编程的四层境界
查看>>
Windows Phone 实用开发技巧(11):让StackPanel中的控件靠右对齐
查看>>
小记如何修改xen模块
查看>>
实时游戏对战引擎Photon
查看>>