• Spring Start制作


    Spring Start制作

    作者:不染心

    时间:2022/7/20

    baymax
    Project Structure

    制作start

    package com.dyl;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import javax.annotation.Resource;
    
    /**
     * @author dyl
     * @description:
     * @date 2022/6/7 0007 上午 9:57
     */
    @Configuration // 标志为注解类
    //@ConditionalOnWebApplication //是web类的时候加载
    @EnableConfigurationProperties(HelloProperties.class) // 使得HelloProperties属性文件生效
    public class AutoConfig {
    
        // 导入属性文件
        @Autowired
        private HelloProperties helloProperties;
    
        @Bean
        public HelloService helloService() {
            HelloService service = new HelloService();
            service.setHelloProperties(helloProperties);
            return service;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    package com.dyl;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    /**
     * @author dyl
     * @description:
     * @date 2022/6/7 0007 上午 9:56
     */
    @ConfigurationProperties(prefix = "example.hello") //  绑定配置文件中所有以example.hello开头的配置
    public class HelloProperties {
    
        /**
         * 前缀
         */
        private String prefix;
    
        /**
         * 后缀
         */
        private String suffix;
    
        public String getPrefix() {
            return prefix;
        }
    
        public void setPrefix(String prefix) {
            this.prefix = prefix;
        }
    
        public String getSuffix() {
            return suffix;
        }
    
        public void setSuffix(String suffix) {
            this.suffix = suffix;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    package com.dyl;
    
    /**
     * @author dyl
     * @description:
     * @date 2022/6/7 0007 上午 9:56
     */
    public class HelloService {
    
        /**
         * 生产HelloProperties的getSet方法,使得配置类可以得到它
         */
        HelloProperties helloProperties;
    
        public HelloProperties getHelloProperties() {
            return helloProperties;
        }
    
        public void setHelloProperties(HelloProperties helloProperties) {
            this.helloProperties = helloProperties;
        }
    
        public String sayHello(String name) {
            // 返回打招呼信息,招呼信息是可配置的
            return helloProperties.getPrefix() + "-" + name + "-" + helloProperties.getSuffix();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    spring.factories

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.dyl.AutoConfig
    
    • 1

    使用start

    <dependency>
        <groupId>org.examplegroupId>
        <artifactId>starter-serviceartifactId>
        <version>1.0-SNAPSHOTversion>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    application.properties

    example.hello.prefix = "EXAMPLE"
    example.hello.suffix = "HELLO"
    
    • 1
    • 2
    @Resource
    HelloService helloService;
    
    System.out.println(helloService.sayHello("dyl"));
    
    • 1
    • 2
    • 3
    • 4

    Result:

    "EXAMPLE"-dyl-"HELLO"
    
    • 1
  • 相关阅读:
    电子版证件照怎么制作并改大小
    计算机网络课程实训:局域网方案设计与实现(基于ensp)
    如何在VSCode中带有参数的Debug(name、program、$file、args、pickArgs、指定虚拟环境)
    配置HBase和zookeeper
    基于STM32单片机DS18B20温度监控报警仿真设计
    GLTF和GLB的区别,各自生成方法
    Gitlab自动化测试的配置
    探索便捷办公新选择:ONLYOFFICE 桌面编辑器
    一些nginx命令
    (Note)Elsevier爱思唯尔期刊投稿流程
  • 原文地址:https://blog.csdn.net/qq_38234785/article/details/125899546