码迷,mamicode.com
首页 > 编程语言 > 详细

自定义springboot

时间:2020-06-11 21:26:47      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:spring   UNC   lan   uil   path   relative   title   一个   ons   

一、新建maven 项目  引入pom依赖

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.2.2.RELEASE</version>
   <relativePath/>
</parent>
<dependencies>
  <!--springboot自动配置 -->
  <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-autoconfigure</artifactId>
 </dependency>
 <!-- 在配置文件中配置属性时 可以提示属性信息-->
 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    </dependency>
 </dependencies>

二、新建配置类

/**
 * 属性配置类   配置文件的前缀first
 */
@ConfigurationProperties(prefix = "first")
public class FirstProperties {
    private String msg;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

三、建starter业务类

public class FirstService {
    private String msg;
    public String sayMsg(){
        return "-----" + msg + " ----";
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

四、建自动配置类

@Configuration //标识FirstAutoConfiguration 是一个配置类
@EnableConfigurationProperties(FirstProperties.class) //FirstAutoConfiguration 使用FirstProperties当做属性配置类
@ConditionalOnClass(FirstService.class) //当存在FirstService依赖的时候FirstAutoConfiguration才会加载到spring容器
@ConditionalOnProperty(prefix = "first",value = "enable",havingValue = "true") //当配置文件中有first.enable=true 时FirstAutoConfiguration才会加载到spring容器
public class FirstAutoConfiguration {
    @Autowired
    private FirstProperties firstProperties;
    public FirstService getFirstService(){
        FirstService firstService = new FirstService();
        firstService.setMsg(firstProperties.getMsg());
        return firstService;
    }
}

五、再resources 目录下新建一个META-INF目录 再META-INF目录下 新建一个spring.factories文件  内容如下

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.xiao.config.FirstAutoConfiguration

六、再新建一个maven项目  引入自定义starter  测试

     1、新建maven项目  pom.xml中引用 自定义starter

<dependency>
    <groupId>com.xiao.bootstarter</groupId>
    <artifactId>spring-boot-starter-first</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

  2、在application.yml配置文件中加入 属性配置

first:
 msg: 11111
 enable: true

3、测试starter controller

@Controller
public class TestStarterController {
    @Autowired
    private FirstService firstService;
    @RequestMapping("testStarter")
    @ResponseBody
    public String testStarter(){
        return   firstService.sayMsg();
    }
}

 

 来源:创业分享

自定义springboot

标签:spring   UNC   lan   uil   path   relative   title   一个   ons   

原文地址:https://www.cnblogs.com/vwvwvwgwg/p/13095902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!