如何使用intellij IDEA搭建Spring Boot项目

 在Spring Boot" title="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文件

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com</groupId>

<artifactId>east7</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>east7</name>

<packaging>jar</packaging>

<name>demo</name>

<description>Demo project for Spring Boot</description>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.4.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.3.1</version>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

这里使用配置文件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项目 的全部内容, 来源链接: utcz.com/z/357134.html

回到顶部