`
kanpiaoxue
  • 浏览: 1781815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

springboot使用yml文件配置javabean

 
阅读更多

 

 

application-dev.yml

spring:
  application:
    name: cleanHDFSFilesJob-dev

hdfs:
  clean:
    hdfsCleanStrategies:
      - 
        keepDays: 30
        pathPattern: /strategy/hello1/(\d{12})
      - 
        keepDays: 30
        pathPattern: /strategy/hello2/(\d{12})
      - 
        keepDays: 30
        pathPattern: /strategy/hello3/(\d{12})
      - 
        keepDays: 30
        pathPattern: /strategy/hello4/(\d{12})

 

 

public class HDFSCleanStrategy {
    private Integer keepDays;
    private String pathPattern;

    /**
     *
     */
    public HDFSCleanStrategy() {
        super();
    }

    /**
     * @param keepDays
     * @param pathPattern
     */
    public HDFSCleanStrategy(Integer keepDays, String pathPattern) {
        super();
        this.keepDays = keepDays;
        this.pathPattern = pathPattern;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        HDFSCleanStrategy other = (HDFSCleanStrategy) obj;
        if (keepDays == null) {
            if (other.keepDays != null) {
                return false;
            }
        } else if (!keepDays.equals(other.keepDays)) {
            return false;
        }
        if (pathPattern == null) {
            if (other.pathPattern != null) {
                return false;
            }
        } else if (!pathPattern.equals(other.pathPattern)) {
            return false;
        }
        return true;
    }

    /**
     * @return the keepDays
     */
    public Integer getKeepDays() {
        return keepDays;
    }

    /**
     * @return the pathPattern
     */
    public String getPathPattern() {
        return pathPattern;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((keepDays == null) ? 0 : keepDays.hashCode());
        result = prime * result + ((pathPattern == null) ? 0 : pathPattern.hashCode());
        return result;
    }

    /**
     * @param keepDays
     *            the keepDays to set
     */
    public void setKeepDays(Integer keepDays) {
        this.keepDays = keepDays;
    }

    /**
     * @param pathPattern
     *            the pathPattern to set
     */
    public void setPathPattern(String pathPattern) {
        this.pathPattern = pathPattern;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return CommonUtils.toJSONString(this);
    }

}

 

 

@Component
@ConfigurationProperties(prefix = "hdfs.clean")
public class HDFSCleanStrategyConfig {

    private List<HDFSCleanStrategy> hdfsCleanStrategies;

    /**
     * @return the hdfsCleanStrategies
     */
    public List<HDFSCleanStrategy> getHdfsCleanStrategies() {
        return hdfsCleanStrategies;
    }

    /**
     * @param hdfsCleanStrategies
     *            the hdfsCleanStrategies to set
     */
    public void setHdfsCleanStrategies(List<HDFSCleanStrategy> hdfsCleanStrategies) {
        this.hdfsCleanStrategies = hdfsCleanStrategies;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return CommonUtils.toJSONString(this);
    }
}

 

@Service
public class CleanHDFSServcieImpl implements CleanHDFSServcie {
    private static final Logger LOGGER = LoggerFactory.getLogger(CleanHDFSServcieImpl.class);

    @Autowired
    private HDFSCleanStrategyConfig hdfsCleanStrategyConfig;

    /*
     * (non-Javadoc)
     * 
     */
    @Override
    @PostConstruct
    public void start() {
        // TODO Auto-generated method stub
        LOGGER.info("start to cleanHDFS:{}", hdfsCleanStrategyConfig);
    }

}

 

 

 

分享到:
评论

相关推荐

    详解springboot读取yml配置的几种方式

    值得注意的是,YML文件不支持使用tab进行缩进,而是使用空格。同时,YML允许使用"-小写字母"或"_小写字母"来代替"大写字母",例如`userName`、`user-name`和`user_name`都是等价的。配置项的格式通常为`key: value`...

    SpringBoot从yml配置文件中读常用参数值实例方法

    yml文件中的配置信息可以通过SpringBoot的@ConfigurationProperties注解来读取,并将其映射到JavaBean中。 @ConfigurationProperties注解的作用是将配置文件中的配置信息映射到JavaBean中的属性中。例如,以下是一...

    基于SpringBoot+JSP实现员工管理以及文件上传与下载

    - `src/main/resources`:配置文件(如application.properties或application.yml)、静态资源(如CSS、JavaScript)和模板文件(JSP)。 - `pom.xml`或`build.gradle`:构建文件,定义项目依赖。 通过上述知识点,...

    pringboot属性配置共7页.pdf.zip

    3. **@ConfigurationProperties**:这是SpringBoot的一个强大的特性,允许将一组相关的配置属性绑定到一个JavaBean上,使得配置更易于管理和复用。通过`@ConfigurationProperties`注解,可以将属性值自动映射到对象...

    多环境配置多种实现

    1. **配置文件结构**:SpringBoot默认使用`application.properties`或`application.yml`作为主要配置文件。为了实现多环境配置,我们可以创建针对不同环境的配置文件,例如`application-dev.properties`(开发环境)...

    springboot入门项目(springboot源码带sql)

    `Student_test`可能是Java类的名称,代表一个学生实体类,它可能使用了JavaBean规范,并且与数据库中的学生表相对应。Spring Data JPA会根据这个实体类自动生成Repository接口,你可以通过这个接口来进行数据库操作...

    基于SpringBoot+Vue实现的竞赛系统.zip

    2. `application.properties`或`application.yml`:SpringBoot的应用配置文件,用于设置应用的环境变量、数据库连接信息、服务器端口等。 3. `pom.xml`:Maven的项目管理文件,定义了项目的依赖关系,如SpringBoot...

    springboot-集成MQ

    3. **定义消息**:创建消息类,通常使用JavaBean表示,例如: ```java public class MyMessage { private String message; // getters and setters } ``` 4. **创建消息监听器**:创建一个实现了`RabbitListener`...

    毕设项目:基于springboot+thyemleaf的超市管理系统.zip

    10. **日志管理**:SpringBoot默认使用Logback或Log4j2进行日志记录,可以在配置文件中调整日志级别。 11. **Actuator**:SpringBoot Actuator提供了一组端点,用于监控和管理应用,例如健康检查、应用信息、审计...

    基于springboot生鲜超市管理系统.zip

    2. **配置文件**:application.properties或application.yml,用于配置SpringBoot的各种特性,如数据库连接、服务器端口等。 3. **模型(Model)**:定义业务对象,如商品、订单、用户等,通常使用JavaBean模式。 4....

    springboot_mybatis_generator_plugin.rar

    首先,MyBatis Generator Plugin是MBG的扩展,它可以直接集成到SpringBoot项目中,通过配置文件定义数据库连接信息、生成策略等,实现一键式代码生成。在项目中引入MBG依赖后,需要在配置文件(如application.yml或...

    基于springboot的美食推荐商城源码数据库.zip

    6. **配置文件**:包括SpringBoot的application.properties或.yml,数据库连接配置,以及其他服务的配置。 7. **启动类**:应用的入口,启动SpringBoot应用。 此外,项目可能还包括测试代码、日志记录、异常处理、...

    springboot整合freemarker例子

    2. **配置文件**:在`application.properties`或`application.yml`中配置Freemarker的相关属性,例如模板路径、编码等。 ```properties spring.freemarker.template-loader-path=classpath:/templates/ spring....

    SpringBoot整合MongoDB.docx

    接着,我们需要在 `application.yml` 配置文件中设置 MongoDB 的连接信息,例如: ```yaml spring: data: mongodb: uri: "mongodb://localhost:27017/test" ``` 这里的 `uri` 指定了连接到本地 MongoDB 服务器...

    JSP基于SSM精品课程在线学习答疑网站可升级SpringBoot毕业源码案例设计.zip

    为了便于学习和调试,源码应该包含了配置文件(如application.properties或yml)、Maven或Gradle构建文件、数据库脚本等。开发者可以根据需求修改配置,如数据库连接信息、服务器端口等。同时,学习者应具备一定的...

    SpringBoot引入Thymeleaf的实现方法

    然后,在application.yml配置文件中配置Thymeleaf的基本参数,例如关闭页面缓存、模板编码、页面映射路径、模板模式等。 在Controller中使用@RequestMapping注解来映射请求路径,并返回视图页面。例如,创建...

    OnlineSchoolShop-master.zip

    2. 配置文件:如application.properties或application.yml,用于设置SpringBoot的各种属性,如数据库连接、服务器端口等。 3. 控制器(Controller):处理HTTP请求,实现业务逻辑的入口,通常使用@RestController或...

    Java 技术框架(7.19).pdf

    SpringBoot提供了一种新的配置方式,如使用application.properties或application.yml文件来读取配置属性。SpringBoot的配置文件和配置中心是核心概念,其中包含了各种配置信息和环境变量。SpringBoot也支持事务管理...

    SprinBoot人事管理系统源码,包含数据库文件.zip

    2. **配置文件** (如:`application.properties`或`application.yml`) - 这里定义了Spring Boot应用的配置,包括服务器端口、数据库连接信息、日志级别等。 3. **Maven或Gradle构建文件** (如:`pom.xml`或`build....

    Guns系统技术文档及视频

    抛弃传统spring xml的配置方式,利用springboot + javabean方式配置spring,极大简化了pom.xml配置和spring配置. Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理...

Global site tag (gtag.js) - Google Analytics