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

网友投稿 255 2022-12-02


如何使用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文件

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

4.0.0

com

east7

0.0.1-SNAPSHOT

east7

jar

demo

Demo project for Spring Boot

org.springframework.boot

http:// 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 :把配置文件的信息,读取并自动封装成实体类,从而方便我们在代码里面使用。测试时成功取出配置文件中的数据,结果如下图所示:

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

4.0.0

com

east7

0.0.1-SNAPSHOT

east7

jar

demo

Demo project for Spring Boot

org.springframework.boot

http:// 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 :把配置文件的信息,读取并自动封装成实体类,从而方便我们在代码里面使用。测试时成功取出配置文件中的数据,结果如下图所示:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java并发编程专题(九)
下一篇:java并发编程专题(七)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~