求助:spring mvc 注解方式 如何注入map 和 list

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:spring mvc 注解方式 如何注入map 和 list相关的知识,希望对你有一定的参考价值。

例如,如何注入(注解方式)下面这两个:
public List<String> ignoreValidateConditions;

private Map<String, CompleteValidateRule> validateRuleListMap;

//定义一个Common类包含上面的两个属性
public class Common
    public List<String> ignoreValidateConditions;
    private Map<String, CompleteValidateRule> validateRuleListMap;
    
    //此处省略get和set方法


//在bean配置文件中,定义该类的bean
<bean id="commonBean" class="Common类的完整类路径">
    <property name="ignoreValidateConditions">
        <list>
            <value>张三</value>
            <value>李四</value>
        </list>
    </property>
     <property name="validateRuleListMap">
        <map>
            <entry key="zhangsan">
                <bean class="CompleteValidateRule的完整类路径">
                        <property name="CompleteValidateRule的相关属性" value="mkyongMap" />
                        <property name="CompleteValidateRule的相关属性" value="address" />
                        <property name="CompleteValidateRule的相关属性" value="28" />
                </bean>
            </entry>
            <entry key="lisi">
                <bean class="CompleteValidateRule的完整类路径">
                        <property name="CompleteValidateRule的相关属性" value="mkyongMap" />
                        <property name="CompleteValidateRule的相关属性" value="address" />
                        <property name="CompleteValidateRule的相关属性" value="28" />
                </bean>
            </entry>
        </map>
    </property>
</bean>

参考技术A 首先配置Spring的xml、在其中配置
<bean name="ignoreValidateConditions" class="java.util.List"/>

---------------------------------------啦啦啦啦啦~~------------------------------------
然后
@Autowired
public List<String> ignoreValidateConditions;

看看书吧=。 =、
@Resource可以选择bean的byName或byType来注入追问

也就是说我想注入的MAP或者是LIST必须写成配置文件对吗?能不能用注解的方式写map或list?这样我就不用写xml文件了。

追答

用一个类继承List然后在类头加上@Component、你可以百度下这个注解、

相当于将有@Component的类自动转为xml中的bean、所以就能免去配置xml的麻烦、

参考技术B <!-- 数组注入方式 --> <property name="homes"> <list> <ref bean="myHome1" /> <ref bean="myHome2" /> </list> </property> <!-- List注入方式 --> <property name="homesList"> <list> <ref bean="myHome1" /> <ref bean="myHome2" /> <value>haha</value> </list> </property> <!-- Set注入方式 --> <property name="homesSet"> <set> <value>hello</value> <ref bean="myHome2" /> <ref bean="myHome1" /> </set> </property> <!-- Map注入方式 --> <property name="homesMap"> <map> <entry key="1"> <ref bean="myHome1" /> </entry> <entry key="2"> <ref bean="myHome2" /> </entry> </map> </property> 参考技术C 如果实在没有办法,你就

把声明 放在 XML中,然后 在 类中用注解引用

spring mvc 注入dao失败。怎么办?

<!-- 扫描文件(自动将dao层注入) -

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource" p:configLocation="classpath:mybatis-config.xml" p:mapperLocations="classpath:mapper/*Mapper.xml" />
<!-- configLocation为mybatis配置文件; mapperLocations为所有mapper映射文件,若mybatis配置文件中已经添加mapper映射文件,mapperLocations无需再配,否则报错。
p:mapperLocations="classpath:mapper/*Mapper.xml"
-->

参考技术A

配置文件中userdao的id="UserDao" ,这里“”中的文字大小写必须和userController里的变量名保持一致。

SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。

使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还可以是Struts这样的Web框架。

以上是关于求助:spring mvc 注解方式 如何注入map 和 list的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC方法参数注入

关于spring mvc 3.0注解,注入失败的问题

spring mvc注入service报错是啥原因?

spring mvc 注入dao失败。怎么办?

Spring注解问题,[action中注入service失败

Spring管理Bean(XML与注解方式)