idea 新建springboot 的 web 项目

2022-04-13 15:21:52 浏览数 (1)

IDAE中新建web项目见:IntelliJ IDEA中新建JAVA WEB项目、maven项目

默认已有一个 maven 的 web 项目:gentle

-------- 改装为springboot项目:

1. 在pom中加上springboot必须的parent 和 web jar包。

代码如下:

代码语言:javascript复制
<?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>gentle</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
    </parent>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

</project>

2. 书写springboot的主函数所在类 ,即程序入口(程序启动类)

注意此类不能直接放在java 文件夹下,要放在一个包内。我放在gentle包中,否则会提示不建议放在默认包中。

springboot 项目全工程中只能写一个 main 函数。 不能在其它类中定义main 函数,test类中也不可以。

给此类加注解:

代码语言:javascript复制
@SpringBootApplication 表示此类为程序入口

代码如下:

代码语言:javascript复制
package gentle;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * spring-boot的一些注解
 * 			ps:@SpringBootApplication 表示开启下述 1、2、5
 *
 *      1.@Configuration 注解是spring去xml配置,开启spring基于java的配置
 *        @Configuration 类级别的注解, 一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
 *        @Bean 一个带有 @Bean 的注解方法将返回一个对象
 *
 *      2.@ComponentScan 收集自动收集所有的spring组件  搜索beans类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
 *
 *      3.@Import导入其他的Configuration类
 *
 *      4.@ImportResource附加注入一个外置的xml
 *
 *      5.@EnableAutoConfiguration 和 @SpringBootApplication是类级别的注解,
 *      根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-test-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
 *
 *      6.@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。
 *
 * Spring-boot加载配置文件的顺序是
 *
 * 		1. ./config/application.properties
 *		2. ./application.properties
 *		3. classpath:config/application.properties
 *		4. classpath:application.properties
 *
 * yaml文件里配置项名和bean里的属性名相同
 */

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
//        SpringApplication application = new SpringApplication(Application.class, "classpath*:/spring/security-*.xml");
        SpringApplication application = new SpringApplication(Application.class);
        application.setWebEnvironment(true);
        application.run(args);
    }
}

3. 书写一个测试 Controller , 验证是否可以正常访问工程。

代码语言:javascript复制
@RestController 注解相当于 @ResponseBody + @Controller合在一起的作用。
代码语言:javascript复制
package gentle.service;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("gentle")
public class First {

    @RequestMapping("/first")
    private String first(){

        return "just say something ... ";
    }
}

4. 配置项目端口号为8089:

5.启动项目,在 Application 类中直接右键 run 便可以启动项目。

(我习惯点击红框中三角,选择dubug 启动。)

6. 浏览器访问,url不用写项目名:

OK ,测试通过。

0 人点赞