作者:我想飞 | 来源:互联网 | 2023-05-19 06:38
这篇文章将为大家详细讲解有关使用intellij IDEA搭建Spring Boot项目的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
在Spring Boot maven框架搭建教程图解一文中,已经介绍了如何使用Eclipse快速搭建Spring Boot项目。由于最近将开发工具由Eclipse转向了IDEA,在搭建Spring Boot项目时发现二者搭建流程不一样,因此,特记录下来搭建流程,方便日后查阅,也希望可以帮到初学者。在文末介绍如何读取application.properties文件的配置信息。
一. 在File-New-Module 页面 选择Spring initializr
二. 在Type处选择: Maven Project(项目的构建工具)
三. 创建依赖时勾上web,mybatis,mysql 此项是否勾选看个人需要吧,可以自主选择。Spring Boot版本默认选择最高稳定版。
我自己并未勾选MySQL和MyBatis,上图为勾选后的效果。新建四个类East7Application、ConfigBean、UserController和User
package com.east7;
import com.east7.bean.ConfigBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
/**
* @author east7
*/
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class East7Application {
public static void main(String[] args) {
System.out.println("port : 8087");
System.out.println("URL: http://localhost:8087/user/viewUser");
SpringApplication.run(East7Application.class, args);
}
}
@EnableConfigurationProperties和@Value注解用于读取配置文件。
package com.east7.controller;
import com.east7.bean.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author east7
*/
@RestController
@RequestMapping("/user")
public class UserController {
private static Logger logger = LoggerFactory.getLogger(UserController.class);
@Value("${config.data.test}")
private String configData;
@Autowired
private ConfigBean configBean;
/**
* 示例地址 http://localhost:8087/user/viewUser?ownerId=100
*
* @author east7
* @date 2019/5/8 11:27
*/
@RequestMapping("/viewUser")
public User viewUser(Long ownerId) {
logger.info("请求参数 ownerId = " + ownerId);
User user = new User();
user.setId(ownerId);
user.setName(" --> Lucy");
return user;
}
@RequestMapping("/readConfig")
public User readConfig() {
logger.info("请求参数 name = " + configData);
User user = new User();
user.setId(263L);
user.setName(" --> " + configData);
return user;
}
@RequestMapping("/readConfigSet")
public User readConfigSet() {
User user = new User();
user.setId(269L);
user.setName(configBean.getName() );
user.setMsg(configBean.getWant());
return user;
}
}
package com.east7.bean;
import java.io.Serializable;
/**
* @author east7
*/
public class User implements Serializable {
private static final long serialVersiOnUID= 6089103683553156328L;
private Long id;
private String name;
private String msg;
// omit getter, setter and toString
}
package com.east7.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* @author east7
* 读取配置文件
*/
@ConfigurationProperties(prefix = "config.set")
public class ConfigBean {
private String name;
private String want;
// omit getter, setter and toString
}
搭建完成后,结构如下:
相对应的pom.xml文件
<&#63;xml version="1.0" encoding="UTF-8"&#63;>
4.0.0
com
east7
0.0.1-SNAPSHOT
east7
jar
demo
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
UTF-8
UTF-8
1.8
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.1
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
这里使用配置文件application.properties,如果想更换其它端口,需要配置属性server.port。配置文件内容如下:
server.port=8087
config.data.test=20000W
config.set.name="east7"
config.set.want="Hope you make progress in your study and work."
启动项目
使用postman验证服务:
读取应用配置
可以在应用中读取application.properties文件,通过注解@Value("${config.name}")就可以将config.name绑定到你想要的属性上面。例如readConfig()。
有时候配置属性太多,一个个绑定到属性字段上实在麻烦,官方提倡绑定一个对象的bean,通过以下三步完成:
- 建一个ConfigBean.java类,在类上使用注解@ConfigurationProperties(prefix = "config.set")来指明读取哪些属性;
- 在启动类加上@EnableConfigurationProperties并指明要加载哪个bean;
- 在需要引用的地方引入ConfigBean使用即可。
@ConfigurationProperties :把配置文件的信息,读取并自动封装成实体类,从而方便我们在代码里面使用。测试时成功取出配置文件中的数据,结果如下图所示:
关于使用intellij IDEA搭建Spring Boot项目的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。