zoukankan      html  css  js  c++  java
  • idea将maven项目改成Spring boot项目

    idea将maven项目改成Spring boot项目

     

    1、添加parent父级依赖

    在pom.xml文件中,要首先添加parent父级依赖

    <!-- 这个parent是springboot的父级依赖,
        它提供相关的starter的maven管理以及版本号管理,还有相关maven插件的公共配置 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    2、添加spring-boot-starter核心依赖和测试依赖

    在dependencies中,添加spring-boot-starter核心依赖,并添加核心测试依赖

    <dependencies>
        <!-- 这是springboot的核心starter,它将完成起步依赖,自动配置,日志,YAML配置等功能 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- 测试依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    3、添加properties属性配置

    properties属性配置主要是存放依赖的版本号,可以自定义,相对于定义了一个变量

    <properties>
        <!-- 指定jdk版本 -->
        <java.version>1.8</java.version>
        <!-- druid连接池版本 -->
        <druid.version>1.1.17</druid.version>
    </properties>
    
    <dependencies>
        <!-- alibaba开发的druid连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <!-- 对应properties中的<druid.version> -->
            <version>${druid.version}</version>
        </dependency>
    </dependencies>

    4、添加build打包插件配置

    <!-- spring boot打包插件,主要将spring boot应用打包成jar文件或者war文件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    5、搭建入口类

    Spring boot项S目一般都有一个*Application.java的入口类,里面有一个main的方法,这是标准Java应用程序的入口方法。

    @SpringBootApplication
    public class TestApplication(){
        public static void main(String[] args){
            SpringApplication.run(TestApplication.class, args);
        }
    }

    在main方法中执行的Spring Application的run方法,返回一个上下文的容器实例

    public static void main(String[] args) {
        //SpringApplication的run方法返回一个上下文的容器实例
        ApplicationContext context = SpringApplication.run(TestApplication.class, args);
        //从容器获取bean对象
        UserService service = context.getBean(UserServiceImpl.class);
        service.say();
    }

    @SpringBootApplication注解是Spring boot的核心注解,它是一个组合注解,主要包含以下注解:

      1、@SpringBootConfiguration:这是Spring boot项目的配置注解,这也是一个组合注解

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Configuration
    public @interface SpringBootConfiguration {
        @AliasFor(
            annotation = Configuration.class
        )
        boolean proxyBeanMethods() default true;
    }

      2、@EnableAutoConfiguration:启用自动配置,该注解会使Spring boot根据项目中依赖的jar包自动配置项目的配置项

      3、@ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。

    如果Spring boot项目中整合了SpringMVC,那么就需要添加一个注解@MapperScan,这个注解的作用是告诉容器dao包中的接口的路径,使得可以在运行时动态代理生成实现类并放入到容器中管理。

    @SpringbootApplication
    @MapperScan({"edu.nf.ch01.user.dao", "edu.nf.ch01.product.dao"})
    public class TestApplication(){
        public static void main(String[] args){
            SpringApplication.run(TestApplication.class, args);
        }
    }

     

    6、application配置文件

    在resource目录中创建一个application.properties文件或者application.yml(推荐)文件,对项目的相关配置都可以在这个文件中配置。

     

    7、搭建测试环境

    在test目录下创建测试类,在类名上加@SpringBootTest注解,在测试类中还可以注入bean,Spring boot会完成自动注入。

    @SpringBootTest
    public class UsersTest(){
        
        @AutoWired
        private UserService service;
        
        @Test
        void testUser(){
            ...
        }
    }
    
    
    
  • 相关阅读:
    实现textFiel和textView中的键盘的关闭
    Objective-C语法之动态类型
    设置APP的启动图片(Launch Image)
    iOS开发中学到的技巧
    CorePlot学习 坐标轴的详细分析
    CorePlot学习 点击scatterPlot中的symbol点时弹出相应的注释
    CorePlot学习 使用技巧
    [转载]core-Plot学习二 自定义CorePlot label及majorGridLine莫名其妙消失的Bug
    Core-Plot学习一 基本对象、添加库
    AFNetworking2.5使用
  • 原文地址:https://www.cnblogs.com/zhangcaihua/p/12786427.html
Copyright © 2011-2022 走看看