package com.csair.hr.utils.File;
import java.util.Arrays;
import java.util.List;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.csair.hr.service.systemManage.SetTemplateService;
import com.csair.hr.vo.systemManage.TemplateVO;
@Component
public class FileUtil {
@Autowired
private SetTemplateService setTemplateService;
private static FileUtil fileUtil;
public void setSetTemplateService(SetTemplateService setTemplateService) {
this.setTemplateService = setTemplateService;
}
@PostConstruct
public void init() {
fileUtil = this;
fileUtil.setTemplateService = this.setTemplateService; // 初使化时将已静态化的testService实例化
}
public static boolean isLegalFileType(String fileName){
//String[] allowTypeArr = { "xls", "xlsx","txt","doc","docx","rar","ppt","zip" };
TemplateVO templateVO = new TemplateVO();
templateVO = fileUtil.setTemplateService.findTemplateByName("附件类型白名单");
String[] allowTypeArr;
if(templateVO!=null){
String allowType = templateVO.getTemplateContent();
allowTypeArr = allowType.split(";");
}else{
allowTypeArr = new String[]{ "xls", "xlsx","txt","doc","docx","rar","ppt","zip" };
}
List<String> allowTypes = Arrays.asList(allowTypeArr);
if(null!=fileName){
String fileType=fileName.substring(fileName.lastIndexOf('.')+1,fileName.length());
if(allowTypes.contains(fileType)){
return true;
}
}
return false;
}
}
分享到:
相关推荐
在Java编程中,工具类通常是一些包含静态方法的类,这些方法执行特定的辅助任务,如字符串处理、日期时间操作、数学计算等。例如,`StringUtils`类(来自Apache Commons Lang库)提供了大量处理字符串的方法,如检查...
这样,我们就可以在工具类中静态地获取任何需要的bean。 以下是如何使用`ApplicationContextProvider`的示例: ```java public class ThreadA implements Runnable { private Service service; public ThreadA...
8. `@EnableAspectJAutoProxy`:启用基于AspectJ的AOP代理,允许我们在Spring中使用切面编程。 从提供的压缩包文件名称列表中,我们看到`.classpath`、`.mymetadata`、`.project`和`.myeclipse`都是IDE相关的文件,...
4. 如何注入Service:在Controller或其他类中,通过@Autowired注解注入Service,然后调用其方法。 总结,Service学习涉及到设计模式、编程原则、以及实际应用中的最佳实践。通过深入研究ServiceDemo,我们能更好地...
- 更强的工具支持:IDE和构建工具通常对注解有很好的支持,如代码提示、自动完成和静态检查等。 6. **实际应用与案例分析**: - 通过`@Controller`注解创建Spring MVC控制器,处理HTTP请求;使用`@Service`和`@...
总结来说,Spring Boot允许开发者轻松地在普通类中使用bean,通过Spring容器的强大功能来管理对象和依赖。通过理解并熟练运用上述知识点,可以更高效地开发Spring Boot应用。博客"17. Spring Boot普通类调用bean【从...
Spring框架作为Java领域中最为广泛使用的依赖注入(Dependency Injection, DI)容器之一,其强大的功能不仅体现在对复杂系统的管理上,还包括了许多高级特性,如静态实例化。本文将深入探讨Spring中的静态实例化概念...
全注解方式是指在Java代码中使用注解(Annotation)来替代XML配置文件,实现对象的创建、依赖注入等操作。这种方式使得代码更加简洁,易于理解和维护。在Struts2和Spring的整合中,我们可以通过注解来声明Action类、...
ServiceImpl则是 IService 的具体实现,它通过Autowired注解自动注入对应的Mapper,实现了IService中的所有方法。这样,我们只需要在自定义的服务类中继承ServiceImpl并传入对应的Mapper接口,就可以拥有一个完整的...
在IT行业中,集成Struts2、Spring和Hibernate是构建企业级Java Web应用的常见...不过,值得注意的是,虽然注解简化了配置,但过多的注解可能会使代码变得混乱,因此在实际应用中,需要合理平衡配置文件和注解的使用。
在Android开发中,注解(Annotation)是一种强大的工具,它允许开发者在代码中添加元数据,这些元数据不直接影响程序的执行,但可以被编译器或运行时库用来生成额外的代码、验证代码或者执行其他操作。Android ...
在本教程中,我们将深入探讨如何使用Spring 4框架,特别是其基于Java注解的配置方式,来构建一个高效、可维护的系统。Spring 4是Java企业级应用开发的首选框架,它提供了广泛的功能,包括依赖注入、AOP(面向切面...
- **非 Spring 容器中的 Bean 访问**:在非 Spring 管理的类中使用 `ApplicationContextAware` 获取 Bean。 14. **使用模板引擎** - **Thymeleaf** 和 **FreeMarker**:集成模板引擎,用于动态生成 HTML 页面,...
4. **DAO 和 Service 层设计**:探讨如何设计基于注解的 DAO 接口和实现,以及如何在 Service 层中注入 DAO 并进行事务控制。 5. **查询注解**:介绍 @Query 和 @NamedQuery 注解,用于在实体类上定义动态和静态 ...
- **装饰者模式**:在处理链中使用,如过滤器。 #### 核心容器模块详解 - **SpringContext (应用上下文)**:它是 Spring 的核心容器之一,提供了一个更为高级的配置机制,通常用于整个应用上下文的管理,包括 Bean...
9. **SpEL(Spring Expression Language)**:在XML配置中,我们可以使用SpEL进行复杂的表达式评估,而在Java配置中,这种能力通常通过构造函数注入和方法参数实现。 10. **优势对比**:Java配置提供了更好的代码...
- **注解注入**:使用Spring提供的注解进行依赖注入,如`@Autowired`、`@Qualifier`等,简化了配置工作量。 4. **Spring中基于注解的对象创建及注解作用** - **用于创建对象的注解**:如`@Component`、`@...
2. **src/main/java**:Java源代码目录,通常分为model(实体类)、service(业务逻辑)、dao(数据访问)和controller(控制器)四个包。 3. **src/main/resources**:资源配置文件,如数据库连接配置、Spring的...
在压缩包中的文件名称列表中,我们可以看到一些关于这些主题的资源,如"Spring—Ioc(即Dependence Injection)依赖注入的3种方式"、"详解 Spring3_0 基于Annotation 的依赖注入实现"、"Spring 3_0 注解注入详解"以及...
在Spring配置文件中,我们将`DefaultMessageService`配置为`MessageService`的实现,然后在需要使用`MessageService`的地方,通过@Autowired注解或者使用ApplicationContext的getBean方法来获取它,这就是依赖注入的...