一、@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=8088
welcome=spring boot \u4F60\u597D mysql.jdbcName=com.mysql.jdbc.Driver
mysql.dbUrl=jdbc:mysql://localhost:3306/db_boot
mysql.userName=root
mysql.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()+"<br/>"
+"mysql.dbUrl:"+MySqlProperties.getDbUrl()+"<br/>"
+"mysql.userName:"+MySqlProperties.getUserName()+"<br/>"
+"mysql.password:"+MySqlProperties.getPassword();
}
}

  2.4  结果

最新文章

  1. Java基础回顾
  2. jquery提交表单,回调函数
  3. Linux内核--异常和中断的区别
  4. swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController
  5. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN
  6. SVN代码回滚命令之---merge的使用
  7. ssl创建自签名的https通信
  8. hdu 1329 Hanoi Tower Troubles Again!
  9. 如何升级cordova插件
  10. 多核CPU怎么理解
  11. 为什么都反对XML而支持使用json呢?
  12. SVD在推荐系统中的应用
  13. J2EE进阶(四)Spring配置文件详解
  14. L1-Day8
  15. [Swift]LeetCode90. 子集 II | Subsets II
  16. Activiti(二) springBoot2集成activiti,集成activiti在线设计器
  17. js02-常用流程控制语句
  18. webviewplugin
  19. 给area标签添加红色边框
  20. 微信小程序 this.setData is not a function

热门文章

  1. Redis 命令使用
  2. angular组件数据
  3. ISO/IEC 9899:2011 条款6.2.1——标识符的作用域
  4. WEB前端动态背景集
  5. 【miscellaneous】GStreamer下的音视频播放
  6. Source Insight快捷键
  7. electron node.js 实现文件拖动读取文件
  8. Zookeeper开源客户端Curator之事件监听详解
  9. matplotlib中的imshow()
  10. React native 禁止手势触摸 pointerEvents