1. 修改tomcat端口和訪問路徑
上一講tomcat默認端口8080 默認路徑是根目錄/
我們現在改成 端口8888 以及上下文路徑/HelloWorld,我們在application.properties中寫入
但是這個時候我們需要在頁面輸入:http://localhost:8888/HelloWorld/hello
結果出來了
這樣我們就修改了默認的訪問端口及訪問路徑
上邊我們使用的是SpringBoot提供的一些屬性配置,我們也可以自定義一些屬性
我們在application.properties中加一個自定義一個helloWorld屬性,屬性值爲:Spring Boot hello world
server.port=8888 server.context-path=/HelloWorld helloWorld=Spring Boot hello world
我們controller中新建一個HelloWorldController2對其進行使用自定義屬性
package com.jd.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 使用自定義屬性 */ //組合註解==>返回json數據,等同於@ReponseBody與@Controller public class HelloWorldController2 { //通過Value註解注入 application.properties中定義的屬性 ("${helloWorld}") private String helloWorld; ("/hello2") public String say(){ return helloWorld; } }
我們重啓SpringbootDemoApplication類,因爲我們之前設置了端口號和訪問路徑,所以接下來的訪問頁面輸入:
看,結果是我們自定義的屬性可以訪問到了!!
比如mysql的jdbc連接配置
mysql.jdbcName=com.mysql.jdbc.Driver
mysql.dbUrl=jdbc:mysql://localhost:3306/db_diary
mysql.userName=root
mysql.password=123456
我們貼到application.properties(這裏自行復制過去即可,不演示了)
然後按照前面的方案,我們在Controller(新建HelloWorldController3)裏寫四個屬性;
package com.jd.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 使用自定義屬性 */ //組合註解==>返回json數據,等同於@ReponseBody與@Controller public class HelloWorldController3 { ("${helloWorld}") private String helloWorld; ("${mysql.jdbcName}") private String jdbcName; ("${mysql.dbUrl}") private String dbUrl; ("${mysql.userName}") private String userName; ("${mysql.password}") private String password; ("/showJdbc") public String showJdbc(){ return "mysql.jdbcName:"+jdbcName+"<br/>" +"mysql.dbUrl:"+dbUrl+"<br/>" +"mysql.userName:"+userName+"<br/>" +"mysql.password:"+password; } }
重啓啓動類,頁面輸入:
下面我們介紹@ConfigurationProperties註解的配置方式
新建一個properties包,新建一個MysqlPropertity類 把所有屬性都配置上去
我們分析我們數據庫的配置都是以mysql.XXX來配置的,我們執行前綴是msyql
我們可以使用@Component作爲組件 方便其他地方注入,接下來是代碼演示,簡化在com.jd包下新鍵一個propertities包,新建一個MysqlProperties類
package com.jd.propertities; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * Created by Administrator on 2018/6/24. */ prefix = "mysql") //這個表示前綴爲mysql的自定義屬性 ( public class MysqlPropertity { /** * 屬性爲mysql.XXX,後面的後綴,注意變量名和配置文件中一致 */ 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getDbUrl() { return dbUrl; } public void setDbUrl(String dbUrl) { this.dbUrl = dbUrl; } }
需要引入依賴到pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
再Controller(新建HelloWorldController4)中使用
package com.jd.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; /** * 使用自定義屬性 */ public class HelloWorldController4 { //通過註解直接注入進來,我們便可以使用 private MysqlProperties mysqlProperties; ("/showJdbc2") public String showJdbc(){ return "mysql.jdbcName:"+mysqlProperties.getJdbcName()+"<br/>" +"mysql.dbUrl:"+mysqlProperties.getDbUrl()+"<br/>" +"mysql.userName:"+mysqlProperties.getUserName()+"<br/>" +"mysql.password:"+mysqlProperties.getPassword(); } }
只需要定義MysqlProperties即可 方便很多 運行結果和之前一樣,代碼量大大減少