SpringBoot入门学习(二)
第一讲我们已经讲解了入门Demo,这一讲我们主要讲解包含以下内容
- 项目内一些属性配置
- 自定义属性配置
- ConfigurationProperties配置
(1)第一个工程创建的时候会自动在工程下创建application.properties文件,如下图,那么该文件有什么作用呢?
该文件主要用于参数配置,类似于web.xml一样,可以配置不同的参数,而且比web.xml 更强大。首先分析一下,demo首次访问项目地址是 http://localhost:8080/,
我们并没有加项目路径,其实,这是springboot默认的。如果要加上项目路径,就只要在application.properties中配置即可,接下来我们将加上项目路径以及更改端口访问。
在application.properties中配置如下
重启项目访问 http://localhost:8888/hello/hello,结果如下图,正常可以访问。
(2)自定义属性配置,日常开发中,我们知道,有一些参数是需要配置的,比如jdbc参数。那么我们是如何在application.properties中配置以及在程序是获取呢?
首先在application.properties中配置参数如下
在Demo这个类中增加相应代码。获取配置文件中的参数的值。代码如下:
重启服务,然后访问 http://localhost:8888/hello/showDbMsg,结果如下,这就是自定义属性配置。
(3)在上面我们已经获取到配置文件的参数了,但是有一个问题,Demo类使用了这几个参数,如果有上百个类也要引用,还需要定义上百次变量,这可不是好事情。所以我们要通过一种其他的方式来获取,即是抽取变量定义到一个实体类中,
然后使用@ConfigurationProperties注解,自动解析参数给实体类赋值。当然application.properties定义的还是不变。
新增实体类MySqlProperties
package com.example.demo; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @Component
@ConfigurationProperties(prefix = "mysql")
public class MySqlProperties { private String jdbcName;
private String userName;
private String password;
private String jdbcUrl; public String getJdbcName() {
return jdbcName;
} public void setJdbcName(String jdbcName) {
this.jdbcName = jdbcName;
} public String getJdbcUrl() {
return jdbcUrl;
} public void setJdbcUrl(String jdbcUrl) {
this.jdbcUrl = jdbcUrl;
} 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;
} @Override
public String toString() {
return "MySqlProperties [jdbcName=" + jdbcName + ", jdbcUrl=" + jdbcUrl + ", userName=" + userName
+ ", password=" + password + "]";
} }
demo类改造后如下:
package com.example.demo;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class Demo { @Resource
private MySqlProperties mySqlProperties; @ResponseBody
@RequestMapping("/showDbMsg")
public String showDbMsg() {
return mySqlProperties.toString(); } @ResponseBody
@RequestMapping("/hello")
public String name() {
return "hello spring boot"; }
}
重启容器后访问,http://localhost:8888/hello/showDbMsg,结果如下图,能正常访问。
SpringBoot入门学习(二)的更多相关文章
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
- SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- SpringBoot入门(二)——起步依赖
本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...
- git入门学习(二):新建分支/上传代码/删除分支
一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...
- 【Java】SpringBoot入门学习及基本使用
SpringBoot入门及基本使用 SpringBoot的介绍我就不多说了,核心的就是"约定大于配置",接下来直接上干货吧! 本文的实例: github-LPCloud,欢迎sta ...
- SpringBoot入门学习看这一篇就够了
1.SpringBoot是什么? SpringBoot是一套基于Spring框架的微服务框架. 2.为什么需要SpringBoot 由于Spring是一个轻量级的企业开发框架,主要的功能就是用于整合和 ...
- Egg入门学习(二)---理解service作用
在上一篇文章 Egg入门学习一 中,我们简单的了解了Egg是什么东西,且能做什么,这篇文章我们首先来看看官网对Egg的整个框架的约定如下,及约定对应的目录是做什么的,来有个简单的理解,注意:我也是按照 ...
- SpringBoot入门学习(一)
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我 ...
随机推荐
- WPF Expander控件(扩展面板)
这算是我比较喜欢的一个控件,以前在Winform中也常用类似的.它包装了一块内容,通过单击一个小箭头按钮可以显示或隐藏所包含的内容.在线帮助以及Web页面经常使用这种技术,因为既可以包含大量内容,而又 ...
- JQuery------制作div模态框
转载: http://blog.csdn.net/li_xiao_ming/article/details/6738922 如图: 代码: html(使用opacity的话content无法变为不透明 ...
- PostgreSQL的.NET驱动程序Npgsql中参数对象的一个Bug
最近将公司的项目从SqlServer移植到PostgreSQL数据库上来,在调用数据库的存储过程(自定义函数)的时候,发现一个奇怪的问题,老是报函数无法找到. 先看一个PgSQL存储过程: CREAT ...
- 通过Servlet获取初始化参数
获取初始化参数在web.xml中配置Servlet时,可以配置一些初始化参数.而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数.(其实还可以通过ServletCont ...
- 如何把IOS应用,发给别人测试?
ios应用,除了用XCODE连接真实设备调试以外,也可以制作ipa安包,发给别人测试.下面是具体步骤: 1. 把要测试的设备标识添加到你苹果开发账号的调试设备里.(可以用xcode或者itools查看 ...
- 厚积薄发系列之JDBC详解
创建一个以JDBC链接数据库的程序,包含七个步骤 1.加载JDBC驱动 加载要连接的数据库的驱动到JVM 如何加载?forName(数据库驱动) MySQL:Class.forName("c ...
- 170425、centos安装mysql5.6数据库
# rpm -qa | grep mysql ## 查看该操作系统上是否已经安装了 mysql 数据库, 有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 # ...
- 170406、用uid分库,uname(用户名)上的查询怎么办
[缘起] 用户中心是几乎每一个公司必备的基础服务,用户注册.登录.信息查询与修改都离不开用户中心. 当数据量越来越大时,需要多用户中心进行水平切分.最常见的水平切分方式,按照uid取模分库: 通过ui ...
- Rsync文件同步机备份工具使用
一,Rsync简介 Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步的优秀工具.适用于多种操作平台. 全称是Remote synchronization 具有可使本地和远 ...
- closure--- 闭包与并行运算
闭包有效的减少了函数所需定义的参数数目.这对于并行运算来说有重要的意义.在并行运算的环境下,我们可以让每台电脑负责一个函数,然后将一台电脑的输出和下一台电脑的输入串联起来.最终,我们像流水线一样工 ...