spring注入到action中 springstruts2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的Spring注入需要两步。第一在Action中写上:private EmpManager mgr;public void setMgr(EmpManager mgr){ this.mgr = mgr;}是setMgr,不是setEmpManager。而且一般都用private而不是protected!当然我没用过protected也不知道行不行!第二步就是你说的在Spring中配置它:mgr! 楼上说的对spring的核心机制是DI即依赖注入,实例化的步骤由spring容器来完成,通常通过set即属性注入,和constructor构造器注入。Spring 3.0又增加了一个新的注入形式。set注入在spring里定义<bean id="mgr" class="...EmpManager"/> bean id mgr 注入走的是setMgr方法,当然一般人会定义变量和定义bean id起相同的名字。在action类中定义setMgr()方法。在spring定义action 的bean <bean name="action" class="Action" ref="mgr"/>。多用几回就熟悉了,最好是多看看官方的帮助文档 问题:我的spring是这样配置的:<?xml version="1.0" encoding="GBK"?><!-- 指定Spring配置文件的Schema信息 --><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!-- 定义数据源Bean,使用C3P0数据源实现 --> <!-- 设置连接数据库的驱动、URL、用户名、密码 连接池最大连接数、最小连接数、初始连接数等参数 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" p:driverClass="com.mysql.jdbc.Driver" p:jdbcUrl="jdbc:mysql://localhost:3306/hrSystem" p:user="root" p:password="111111" p:maxPoolSize="40" p:minPoolSize="1" p:initialPoolSize="1" p:maxIdleTime="20"/> <!-- 定义Hibernate的SessionFactory --> <!-- 依赖注入数据源,注入正是上面定义的dataSource --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" p:dataSource-ref="dataSource"> <!-- mappingResouces属性用来列出全部映射文件 --> <property name="mappingResources"> <list> <!-- 以下用来列出Hibernate映射文件 --> <value>org/crazyit/hrsystem/domain/Application.hbm.xml</value> <value>org/crazyit/hrsystem/domain/Attend.hbm.xml</value> <value>org/crazyit/hrsystem/domain/AttendType.hbm.xml</value> <value>org/crazyit/hrsystem/domain/CheckBack.hbm.xml</value> <value>org/crazyit/hrsystem/domain/Employee.hbm.xml</value> <value>org/crazyit/hrsystem/domain/Payment.hbm.xml</value> </list> </property> <!-- 定义Hibernate的SessionFactory的属性 --> <property name="hibernateProperties"> <!-- 指定数据库方言、是否自动建表 是否生成SQL语句等 --> <value> hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect hibernate.hbm2ddl.auto=update hibernate.show_sql=true hibernate.format_sql=true #开启二级缓存 hibernate.cache.use_second_level_cache=true #设置二级缓存的提供者 hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider </value> </property> </bean> <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 --> <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现--> <!-- 并注入SessionFactory的引用 --> <bean id="transactionManager" class= "org.springframework.orm.hibernate3.HibernateTransactionManager" p:sessionFactory-ref="sessionFactory"/> <!-- 配置事务增强处理Bean,指定事务管理器 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!-- 用于配置详细的事务语义 --> <tx:attributes> <!-- 所有以'get'开头的方法是read-only的 --> <tx:method name="get*" read-only="true"/> <!-- 其他方法使用默认的事务设置 --> <tx:method name="*"/> </tx:attributes> </tx:advice> <aop:config> <!-- 配置一个切入点,匹配empManager和mgrManager 两个Bean的所有方法的执行 --> <aop:pointcut id="leePointcut" expression="bean(empManager)||bean(mgrManager)"/> <!-- 指定在leePointcut切入点应用txAdvice事务增强处理 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="leePointcut"/> </aop:config> <!-- 定义业务逻辑组件模板 --> <!-- 为之注入DAO组件 --> <bean id="managerTemplate" abstract="true" lazy-init="true" p:appDao-ref="appDao" p:attendDao-ref="attendDao" p:typeDao-ref="attendTypeDao" p:checkDao-ref="checkDao" p:empDao-ref="employeeDao" p:mgrDao-ref="managerDao" p:payDao-ref="payDao"/> <!-- 定义两个业务逻辑组件,继承业务逻辑组件的模板 --> <bean id="empManager" class="org.crazyit.hrsystem.service.impl.EmpManagerImpl" parent="managerTemplate"/> <bean id="mgrManager" class="org.crazyit.hrsystem.service.impl.MgrManagerImpl" parent="managerTemplate"/><bean id="cronTriggerPay" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <!-- 使用嵌套Bean的方式来定义任务Bean --> <bean class="org.springframework.scheduling.quartz.JobDetailBean"> <!-- 指定任务Bean的实现类 --> <property name="jobClass" value="org.crazyit.hrsystem.schedule.PayJob"/> <!-- 为任务Bean注入属性 --> <property name="jobDataAsMap"> <map> <entry key="empMgr" value-ref="empManager"/> </map> </property> </bean> </property> <!-- 指定Cron表达式:每月3日2时启动 --> <property name="cronExpression" value="0 0 2 3 * ? *"/></bean><!-- 定义触发器来管理任务Bean --><bean id="cronTriggerPunch" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <!-- 使用嵌套Bean的方式来定义任务Bean --> <bean class="org.springframework.scheduling.quartz.JobDetailBean"> <!-- 指定任务Bean的实现类 --> <property name="jobClass" value="org.crazyit.hrsystem.schedule.PunchJob"/> <!-- 为任务Bean注入属性 --> <property name="jobDataAsMap"> <map> <entry key="empMgr" value-ref="empManager"/> </map> </property> </bean> </property> <!-- 指定Cron表达式:周一到周五7点、12点执行调度 --> <property name="cronExpression" value="0 0 7,12 ? * MON-FRI"/></bean><!-- 执行实际的调度调度 --><bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="cronTriggerPay"/> <ref local="cronTriggerPunch"/> </list> </property></bean></beans>,而action里也是setEmpManager 程序运行正常,spring的注入方式,是不是我理解的有问题呢? Quote: 引用 2 楼 u011201384 的回复:楼上说的对spring的核心机制是DI即依赖注入,实例化的步骤由spring容器来完成,通常通过set即属性注入,和constructor构造器注入。Spring 3.0又增加了一个新的注入形式。set注入在spring里定义<bean id="mgr" class="...EmpManager"/> bean id mgr 注入走的是setMgr方法,当然一般人会定义变量和定义bean id起相同的名字。在action类中定义setMgr()方法。在spring定义action 的bean <bean name="action" class="Action" ref="mgr"/>。多用几回就熟悉了,最好是多看看官方的帮助文档问题:我的spring是这样配置的:<?xml version="1.0" encoding="GBK"?><!-- 指定Spring配置文件的Schema信息 --><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:p="http://www.springframework.org/schema/p"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 定义数据源Bean,使用C3P0数据源实现 --><!-- 设置连接数据库的驱动、URL、用户名、密码连接池最大连接数、最小连接数、初始连接数等参数 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"p:driverClass="com.mysql.jdbc.Driver"p:jdbcUrl="jdbc:mysql://localhost:3306/hrSystem"p:user="root"p:password="111111"p:maxPoolSize="40"p:minPoolSize="1"p:initialPoolSize="1"p:maxIdleTime="20"/><!-- 定义Hibernate的SessionFactory --><!-- 依赖注入数据源,注入正是上面定义的dataSource --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"p:dataSource-ref="dataSource"><!-- mappingResouces属性用来列出全部映射文件 --><property name="mappingResources"><list><!-- 以下用来列出Hibernate映射文件 --><value>org/crazyit/hrsystem/domain/Application.hbm.xml</value><value>org/crazyit/hrsystem/domain/Attend.hbm.xml</value><value>org/crazyit/hrsystem/domain/AttendType.hbm.xml</value><value>org/crazyit/hrsystem/domain/CheckBack.hbm.xml</value><value>org/crazyit/hrsystem/domain/Employee.hbm.xml</value><value>org/crazyit/hrsystem/domain/Payment.hbm.xml</value></list></property><!-- 定义Hibernate的SessionFactory的属性 --><property name="hibernateProperties"><!-- 指定数据库方言、是否自动建表是否生成SQL语句等 --><value>hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialecthibernate.hbm2ddl.auto=updatehibernate.show_sql=truehibernate.format_sql=true#开启二级缓存hibernate.cache.use_second_level_cache=true#设置二级缓存的提供者hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider</value></property></bean><!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 --><!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现--><!-- 并注入SessionFactory的引用 --><bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"p:sessionFactory-ref="sessionFactory"/><!-- 配置事务增强处理Bean,指定事务管理器 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><!-- 用于配置详细的事务语义 --><tx:attributes><!-- 所有以'get'开头的方法是read-only的 --><tx:method name="get*" read-only="true"/><!-- 其他方法使用默认的事务设置 --><tx:method name="*"/></tx:attributes></tx:advice><aop:config><!-- 配置一个切入点,匹配empManager和mgrManager两个Bean的所有方法的执行 --><aop:pointcut id="leePointcut"expression="bean(empManager)||bean(mgrManager)"/><!-- 指定在leePointcut切入点应用txAdvice事务增强处理 --><aop:advisor advice-ref="txAdvice" pointcut-ref="leePointcut"/></aop:config><!-- 定义业务逻辑组件模板 --><!-- 为之注入DAO组件 --><bean id="managerTemplate" abstract="true" lazy-init="true"p:appDao-ref="appDao"p:attendDao-ref="attendDao"p:typeDao-ref="attendTypeDao"p:checkDao-ref="checkDao"p:empDao-ref="employeeDao"p:mgrDao-ref="managerDao"p:payDao-ref="payDao"/><!-- 定义两个业务逻辑组件,继承业务逻辑组件的模板 --><bean id="empManager"class="org.crazyit.hrsystem.service.impl.EmpManagerImpl"parent="managerTemplate"/><bean id="mgrManager"class="org.crazyit.hrsystem.service.impl.MgrManagerImpl"parent="managerTemplate"/><bean id="cronTriggerPay" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><!-- 使用嵌套Bean的方式来定义任务Bean --><bean class="org.springframework.scheduling.quartz.JobDetailBean"><!-- 指定任务Bean的实现类 --><property name="jobClass"value="org.crazyit.hrsystem.schedule.PayJob"/><!-- 为任务Bean注入属性 --><property name="jobDataAsMap"><map><entry key="empMgr" value-ref="empManager"/></map></property></bean></property><!-- 指定Cron表达式:每月3日2时启动 --><property name="cronExpression" value="0 0 2 3 * ? *"/></bean><!-- 定义触发器来管理任务Bean --><bean id="cronTriggerPunch" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><!-- 使用嵌套Bean的方式来定义任务Bean --><beanclass="org.springframework.scheduling.quartz.JobDetailBean"><!-- 指定任务Bean的实现类 --><property name="jobClass" value="org.crazyit.hrsystem.schedule.PunchJob"/><!-- 为任务Bean注入属性 --><property name="jobDataAsMap"><map><entry key="empMgr" value-ref="empManager"/></map></property></bean></property><!-- 指定Cron表达式:周一到周五7点、12点执行调度 --><property name="cronExpression" value="0 0 7,12 ? * MON-FRI"/></bean><!-- 执行实际的调度调度 --><bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref local="cronTriggerPay"/><ref local="cronTriggerPunch"/></list></property></bean></beans>,而action里也是setEmpManager 程序运行正常,spring的注入方式,是不是我理解的有问题呢? 1.感觉lz的命名有点不规范2.action调用service必须配置文件ID与action的实例名一致 第一先调试一下!看看你的mgr对象是否为null!如果为null就好解释你的问题了!你说在Action中声明一个对象怎么了!set方法又怎么了!声明多少个都没有问题!如果是有值的,那么就得问问你们同事是怎么配置的了!还有是不是你们用了注解~没有在配置文件里面进行配置呢? 您好,我也是刚接触这个,我看的这个项目是“李刚写的那本ssh框架”里面的一个项目例子,程序没有使用注释应该,您可有留一下QQ吗?我可以把项目发给您吗?这个问题困扰我好几天了!谢谢您啊! spring配置文件可不止一个哦,通过在web.xml中的通配符的配置可以有多个spring文件。至少目前没见过哪个项目只有一个spring的,一般都是一个功能模块对应一个spring文件。楼主找找看,Ctrl+H搜索下试试看,真心希望能有所帮助,毕竟当初我刚学的时候像狗一样到处问人…… 这个项目里,就一个spring文件,不知道您看过"李刚的java ee企业应用实战"没,我就是练得那上面最后一章给的项目,但就是不知道setEmpManager是咋注入的, QQ 372163591,方便的话能讨论下吗,多谢!! 这个项目里,就一个spring文件,不知道您看过"李刚的java ee企业应用实战"没,我就是练得那上面最后一章给的项目,但就是不知道setEmpManager是咋注入的, QQ 372163591,方便的话能讨论下吗,多谢!!你学生?练习的话就简单多了,上面已经给出了正解,就别纠结与这个问题了。PS:看书效率相当低的,上网学就好。 不给get方法能实例化吗! get方法都木写啊 不需要get的!我貌似都不记得了 没那么些过 都用注解了 还要一个个配 麻烦死了 但是我记得好像是要getset的 可能我记错了 一般不会像你这样在action里定义,而且定义的是私有属性共有set方法,共有方法alt+shift+s+r会自动生成。 不需要get的!对 看了下 确实不用get set spring也能注入 是用的代理吧 我跟sturts的弄混了 高手请进》JSP页面中 JSON 与 List 之间转换问题 servlet 小问题 ckfinder如何整合进JAVAEE的项目中啊 二维数组用什么方法转换成字符串,然后在转换回来 jsf的整型校验问题! JB部署CMP老出现JNDI出错 Eclipse中配置Jboss4开发环境时,在Eclipse中为什么保存不了设置?? CallableStatement 什么意思?有什么作用? JAVA,给SSH每一框架的练习题(初学者) 上线java应用cpu异常通过mat分析后的结果疑问 初学hibernate,急求大神指导,急急急急急急 多对多如何循环 展示
public void setMgr(EmpManager mgr){
this.mgr = mgr;
}是setMgr,不是setEmpManager。而且一般都用private而不是protected!当然我没用过protected也不知道行不行!
第二步就是你说的在Spring中配置它:mgr!
spring的核心机制是DI即依赖注入,实例化的步骤由spring容器来完成,通常通过set即属性注入,和constructor构造器注入。Spring 3.0又增加了一个新的注入形式。
set注入
在spring里定义<bean id="mgr" class="...EmpManager"/> bean id mgr 注入走的是setMgr
方法,当然一般人会定义变量和定义bean id起相同的名字。
在action类中定义setMgr()方法。
在spring定义action 的bean <bean name="action" class="Action" ref="mgr"/>。
多用几回就熟悉了,最好是多看看官方的帮助文档
我的spring是这样配置的:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!-- 定义数据源Bean,使用C3P0数据源实现 -->
<!-- 设置连接数据库的驱动、URL、用户名、密码
连接池最大连接数、最小连接数、初始连接数等参数 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close"
p:driverClass="com.mysql.jdbc.Driver"
p:jdbcUrl="jdbc:mysql://localhost:3306/hrSystem"
p:user="root"
p:password="111111"
p:maxPoolSize="40"
p:minPoolSize="1"
p:initialPoolSize="1"
p:maxIdleTime="20"/> <!-- 定义Hibernate的SessionFactory -->
<!-- 依赖注入数据源,注入正是上面定义的dataSource -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
p:dataSource-ref="dataSource">
<!-- mappingResouces属性用来列出全部映射文件 -->
<property name="mappingResources">
<list>
<!-- 以下用来列出Hibernate映射文件 -->
<value>org/crazyit/hrsystem/domain/Application.hbm.xml</value>
<value>org/crazyit/hrsystem/domain/Attend.hbm.xml</value>
<value>org/crazyit/hrsystem/domain/AttendType.hbm.xml</value>
<value>org/crazyit/hrsystem/domain/CheckBack.hbm.xml</value>
<value>org/crazyit/hrsystem/domain/Employee.hbm.xml</value>
<value>org/crazyit/hrsystem/domain/Payment.hbm.xml</value>
</list>
</property>
<!-- 定义Hibernate的SessionFactory的属性 -->
<property name="hibernateProperties">
<!-- 指定数据库方言、是否自动建表
是否生成SQL语句等 -->
<value>
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=true
#开启二级缓存
hibernate.cache.use_second_level_cache=true
#设置二级缓存的提供者
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
</value>
</property>
</bean> <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
<!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
<!-- 并注入SessionFactory的引用 -->
<bean id="transactionManager" class=
"org.springframework.orm.hibernate3.HibernateTransactionManager"
p:sessionFactory-ref="sessionFactory"/> <!-- 配置事务增强处理Bean,指定事务管理器 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 用于配置详细的事务语义 -->
<tx:attributes>
<!-- 所有以'get'开头的方法是read-only的 -->
<tx:method name="get*" read-only="true"/>
<!-- 其他方法使用默认的事务设置 -->
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 配置一个切入点,匹配empManager和mgrManager
两个Bean的所有方法的执行 -->
<aop:pointcut id="leePointcut"
expression="bean(empManager)||bean(mgrManager)"/>
<!-- 指定在leePointcut切入点应用txAdvice事务增强处理 -->
<aop:advisor advice-ref="txAdvice"
pointcut-ref="leePointcut"/>
</aop:config> <!-- 定义业务逻辑组件模板 -->
<!-- 为之注入DAO组件 -->
<bean id="managerTemplate" abstract="true" lazy-init="true"
p:appDao-ref="appDao"
p:attendDao-ref="attendDao"
p:typeDao-ref="attendTypeDao"
p:checkDao-ref="checkDao"
p:empDao-ref="employeeDao"
p:mgrDao-ref="managerDao"
p:payDao-ref="payDao"/> <!-- 定义两个业务逻辑组件,继承业务逻辑组件的模板 -->
<bean id="empManager"
class="org.crazyit.hrsystem.service.impl.EmpManagerImpl"
parent="managerTemplate"/>
<bean id="mgrManager"
class="org.crazyit.hrsystem.service.impl.MgrManagerImpl"
parent="managerTemplate"/><bean id="cronTriggerPay"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<!-- 使用嵌套Bean的方式来定义任务Bean -->
<bean
class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 指定任务Bean的实现类 -->
<property name="jobClass"
value="org.crazyit.hrsystem.schedule.PayJob"/>
<!-- 为任务Bean注入属性 -->
<property name="jobDataAsMap">
<map>
<entry key="empMgr" value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!-- 指定Cron表达式:每月3日2时启动 -->
<property name="cronExpression" value="0 0 2 3 * ? *"/>
</bean><!-- 定义触发器来管理任务Bean -->
<bean id="cronTriggerPunch"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<!-- 使用嵌套Bean的方式来定义任务Bean -->
<bean
class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 指定任务Bean的实现类 -->
<property name="jobClass"
value="org.crazyit.hrsystem.schedule.PunchJob"/>
<!-- 为任务Bean注入属性 -->
<property name="jobDataAsMap">
<map>
<entry key="empMgr" value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!-- 指定Cron表达式:周一到周五7点、12点执行调度 -->
<property name="cronExpression"
value="0 0 7,12 ? * MON-FRI"/>
</bean>
<!-- 执行实际的调度调度 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="cronTriggerPay"/>
<ref local="cronTriggerPunch"/>
</list>
</property>
</bean>
</beans>
,
而action里也是setEmpManager 程序运行正常,spring的注入方式,是不是我理解的有问题呢?
如果为null就好解释你的问题了!
你说在Action中声明一个对象怎么了!set方法又怎么了!声明多少个都没有问题!
如果是有值的,那么就得问问你们同事是怎么配置的了!还有是不是你们用了注解~没有在配置文件里面进行配置呢?
您好,我也是刚接触这个,我看的这个项目是“李刚写的那本ssh框架”里面的一个项目例子,程序没有使用注释应该,您可有留一下QQ吗?我可以把项目发给您吗?这个问题困扰我好几天了!谢谢您啊!
我貌似都不记得了 没那么些过 都用注解了 还要一个个配 麻烦死了 但是我记得好像是要getset的 可能我记错了
会自动生成。
对 看了下 确实不用get set spring也能注入 是用的代理吧 我跟sturts的弄混了