`

spring3中新增的@value注解

阅读更多
        今天在开发过程中,发现在@Controller层的类,无法像Servicen层的类那样直接通过@Value("${fileUpload.fileName}")方式注入配置值到对象中。
        原因是因为在xml中有如下配置,将配置有@Controller注解的Action类(包名有action)排除掉了。
<context:component-scan base-package="com">
	<context:exclude-filter type="regex" expression=".*\.web\..*" />
	<context:exclude-filter type="regex" expression=".*\.action\..*" />
</context:component-scan>
        后通过如下方法解决:
        在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入: 
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans 
		 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 的命名空间,然后
2.
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">  
        <list>  
            <value>classpath:test.properties</value>  
        </list>              
    </property>                              
</bean>

3.创建test.properties
   abc=123

4.
import org.springframework.beans.factory.annotation.Value;   
import org.springframework.stereotype.Controller;   
import org.springframework.web.bind.annotation.RequestMapping;   
  
@RequestMapping("/admin/images")   
@Controller   
public class ImageAdminController {   
  
    private String imageDir;   
    
    @Value("${abc}") 
    public void setImageDir(String val) {   
        this.imageDir = val;   
    }
}
        这样就将test.abc的值注入了imageDir中了。
 
分享到:
评论

相关推荐

    使用SpringMVC的@Validated注解验证的实现

    @Validated注解是SpringMVC中的一种验证注解,用于验证 Bean 中的属性是否满足一定的条件。该注解可以与其他验证注解如 @NotNull、@Size 等结合使用,实现复杂的验证逻辑。 在使用 @Validated 注解时,需要首先编写...

    SpringBoot中必须掌握的27个注解.pdf

    3. **@Conditional**:Spring 4新增的注解,允许根据特定条件加载bean。Spring Boot中的@ConditionalOnProperty、@ConditionalOnBean等注解都基于此功能。 4. **@Import**:它用于将非Spring管理的类导入到Spring...

    spring2.5.jar

    此外,还引入了@Required和@Value注解,使得属性注入更为方便。 2. **面向切面编程的扩展** Spring 2.5对AOP的支持进一步加强,新增了对注解驱动的切面的支持。@Aspect注解用于定义切面,@Before、@After、@Around...

    Java8新增的重复注解功能示例

    重复注解的应用非常广泛,例如,在Spring框架中,使用重复注解可以实现更加灵活的注解配置。在JavaEE中,使用重复注解可以实现更加灵活的注解配置等等。 需要注意的是,在使用重复注解时,需要遵守一定的规则和约定...

    Spring3中配置DBCP,C3P0,Proxool,Bonecp数据源

    在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面包含这些数据源的jar文件和依赖文件及配置文件。。 如Bonecp目前听说是最快的数据源,速度是传统的c3p0的25倍, bonecp.properties文件: ...

    Spring2.5中文帮助文档

    这在元数据和动态逻辑中非常有用,例如在`@Value`注解中引用属性值。 5. **AOP增强**:Spring 2.5的AOP支持也得到了扩展,新增了对注解驱动的切面的支持。开发者可以通过在方法上使用`@Before`、`@After`、`@Around...

    采用ssh注解实现的一个用户新增实例五脏俱全

    在这个用户新增实例中,当用户提交表单时,Struts2会调用`addUser`方法,Spring会注入相应的服务和数据访问对象,而Hibernate则通过注解将用户对象持久化到数据库。 此外,对于人员查询全部采用注解方式实现,通常...

    spring学习笔记(有代码有注解解释)

    ### Spring学习笔记(有代码有注解解释) #### Spring框架两大核心机制——IoC与AOP ##### IoC(控制反转)/DI(依赖注入) **IoC** 是 Inversion of Control 的缩写,意为“控制反转”。而 **DI**(Dependency ...

    使用Spring表单标签实现新增用户信息

    &lt;input type="submit" value="新增用户" /&gt; ``` 在上述代码中,`modelAttribute="user"`指定了表单绑定的对象,这里是User类的一个实例。`path`属性则对应User对象的属性,如`username`、`email`和`password`。`...

    spring整合mysql的一些基本操作

    12. **MyBatis集成**:除了Spring JDBC,还可以使用MyBatis框架,它允许将SQL语句写在XML映射文件或注解中,提供了更灵活的SQL操作方式。 13. **事务的隔离级别**:Spring支持四种事务隔离级别,包括READ_...

    springboot 基于spring-kafka动态创建kafka消费者

    在Spring Boot应用中,我们可以利用Spring Kafka框架来与Apache Kafka进行集成,实现高效的消息传递。本文将详细探讨如何在Spring Boot项目中基于Spring Kafka动态创建Kafka消费者。 首先,了解Kafka基本概念:...

    Redis实现缓存功能总结.docx

    @Cacheable 用于查询和新增可选属 性,cacheNames/value:指定缓存组件的名字;key:缓存数据使用的 key,可以用来指定。默认即使使用方法参数的值。 @CachePut 用于更新,@CacheEvict 用于删除缓存数据。这些注解...

    Spring Boot技术培训

    - 新增启动类并通过 `@SpringBootApplication` 注解标识。 - 运行启动类,将应用程序打包并自动部署到 Tomcat 容器中,在浏览器中输入相应的地址即可访问。 #### 二、Spring Boot 初级应用 ##### 2.1 Spring ...

    spring api 3.1

    1. **依赖注入(DI)增强**:依赖注入是Spring框架的核心特性之一,3.1版本对此进行了优化,提供了更灵活的注解支持,如`@Autowired`、`@Qualifier`和`@Value`,使得配置更加简洁,减少了XML配置文件的使用。...

    spring3.0技术手册

    根据提供的信息,“Spring 3.0技术手册”主要聚焦于Spring...通过以上介绍可以看出,Spring 3.0不仅增强了现有功能,还新增了许多实用的新特性,使得Spring框架更加完善和强大,能够更好地满足复杂的企业级应用需求。

    spring boot注解方式使用redis缓存操作示例

    3. **@CacheEvict**: 这个注解用于清除缓存中的数据,通常应用于删除操作。例如: ```java @CacheEvict(value = "product", key = "#id") public void deleteProduct(Long id) { // 删除产品逻辑 } ``` 除了...

    基于Spring的web框架使用说明

    - 在Spring的Bean中使用`@Value`注解直接读取配置文件中的值。 - 或者通过`CustomizedPropertyPlaceholderConfigurer.getContextProperty`方法获取配置项。 #### Spring Websocket - **应用场景**:实现用户间的...

    Spring Cloud Finchley SR2全套(集成Spring Gateway)

    核心基础项目内实现类自定义的权限注解,配合RBAC权限模型+拦截器即可实现权限的控制,具体的参考项目中的实现。同时也封装了一些顶层类和结果集等。 注册中心实现高可用配置,详情见eureka的one、two、three三个...

Global site tag (gtag.js) - Google Analytics