Spring注入有关问题,求大神

   阅读
Spring注入问题,求大神!
其中的set方法能直接运行;
但是在使用被注入的东西的时候会报空指针...

<!-- 1. 数据源 : DriverManagerDataSource -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybaitis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!-- 
2. mybatis的SqlSession的工厂: SqlSessionFactoryBean 
dataSource / typeAliasesPackage
-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="datasource"/>
<property name="typeAliasesPackage" value="com.springmvc.mybaitsmodel"/>

</bean>

<bean id="SqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
<!-- <constructor-arg index="1" value="BATCH" />如果想要进行批量操作可加入这个属性 -->
</bean>
<bean id="userDaoimpl" class="com.springmvc.dao.UserDaoImpl" >
<property name="SqlSession" ref="SqlSession"/>
</bean>
<!-- 
3. mybatis自动扫描加载Sql映射文件 : MapperScannerConfigurer 
sqlSessionFactory / basePackage
-->
<bean id="config" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.springmvc.mybaitsmodel"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>

<!-- 4. 事务管理 : DataSourceTransactionManager -->
<bean id="manager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="datasource"/>
</bean>

<!-- 5. 使用声明式事务 -->
<tx:annotation-driven transaction-manager="manager" />



private SqlSession SqlSession;

public SqlSession getSqlSession() {
return SqlSession;
}

@Resource
public void setSqlSession(SqlSession sqlSession) {
System.out.println("set:"+SqlSession);
SqlSession = sqlSession;
}

@Override
public User findUserById(int id) {

System.out.println("usering..."+SqlSession);

User user = SqlSession.selectOne(User.class.getName()+".selectUserByid", id);
System.out.println(user.getName());

return user;
}


再启动服务器的时候会打出来set:加一串地址,标示注入进来了
但是在使用下面的方法是 usssering..为空
求大神
------解决思路----------------------
你先把 private SqlSession SqlSession;  首字母小写
------解决思路----------------------
引用:
Quote: 引用:

你先把 private SqlSession SqlSession;  首字母小写


我改了小写也不行啊 
xml也要改
<bean id="userDaoimpl" class="com.springmvc.dao.UserDaoImpl" >    
    <property name="SqlSession" ref="SqlSession"/>
</bean>

------解决思路----------------------
现在正常调用时
User user = sqlSession.selectOne(User.class.getName()+".selectUserByid", id);
这里的sqlSession为null?
------解决思路----------------------

<bean id="SqlSession" class="org.mybatis.spring.SqlSessionTemplate">


这个地方小写没改
------解决思路----------------------
注入session的配置没问题,我觉得可能是service调用或注入有问题
------解决思路----------------------
Spring注入默认采用的是ByName,所有对实体的要求是尽量的参照javaBean规范。
------解决思路----------------------
tomcat加载spring应该在web.xml文件里配置一下吧。把这个文件/config/beans.xml配置到web.xml里试试呢
阅读