Spring怎么给Controller注入一个Map?

我想让Spring给controller注入一个Map<String, Object>,我应该怎么配置?

繁华开满天机
浏览 1125回答 3
3回答

LEATH

使用工厂bean可以实现,参考代码如下:1:创建map的工厂beanpackage 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";     } }

繁花不似锦

你配置个Java Bean哈 在吧Bean注入哈

qq_笑_17

依赖注入不是配置文件配置的嘛?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java