我想让Spring给controller注入一个Map<String, Object>,我应该怎么配置?
3 回答
LEATH
TA贡献1936条经验 获得超6个赞
使用工厂bean可以实现,参考代码如下:
1:创建map的工厂bean
package com.blog.factory; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.FactoryBean; /** * @author zl */ public class ConfigMapFactory implements FactoryBean<Map<String,Object>> { @Override public Map<String,Object> getObject() throws Exception { Map<String,Object> configMap = new HashMap<String,Object>(); configMap.put("hello", "world"); return configMap; } @Override public Class<?> getObjectType() { return Map.class; } @Override public boolean isSingleton() { return true; } }
2:spring的配置文件中配置:
<bean id="configMap" class="com.blog.factory.ConfigMapFactory"></bean>
3:controller层注入
@Controller public class BlogController extends BaseController{ @Autowired private CommentService commentService; @Autowired private BlogService blogService; @Resource(name="configMap")//这边需要使用Resource注解 private Map<String,Object> configMap; @RequestMapping("/") public String index(Model model){ System.out.println(configMap.get("hello"));//打印出world return "index"; } }
添加回答
举报
0/150
提交
取消