@Autowired(required = false)
5397 ワード
メソッドにマークすると、タイプに応じてspringコンテナに対するパラメータを探して注入します.
サブクラスも可能ですが、複数構成するとエラーが表示されます.
beanは1つしかなくtypeタイプによってマッチングします
required=falseなので、springが見つからないと値が空きます
@Autowired(required=false)がない場合、UserDaoImplは継承できません
次にspringプロファイルで構成上のSqlSessionFactory
1 @Repository(value="userDao")
2 public class UserDaoImpl extends SqlSessionDaoSupport implements IUserDao{
3
4 // @Autowired
5 // @Qualifier(value="sqlsessionFactory11")
6 // private SqlSessionFactory asqlSessionFactory;
7 //
8 public User getOne(String uid) {
9 return this.getSqlSession().selectOne("cn.us.mybatis.getOne",uid);
10 }
11
12 public List<User> getAllUsers() {
13 Object obj=this.getSqlSession();
14 return this.getSqlSession().selectList("cn.us.mybatis.getAllUsers");
15 }
16
17 }
サブクラスも可能ですが、複数構成するとエラーが表示されます.
SqlSessionDaoSupport
1 @Autowired(required = false)
2 public final void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
3 if (!this.externalSqlSession) {
4 this.sqlSession = new SqlSessionTemplate(sqlSessionFactory);
5 }
6 }
beanは1つしかなくtypeタイプによってマッチングします
1 <bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
2 <property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
3 <property name="dataSource" ref="dataSource"></property>
4 </bean>
required=falseなので、springが見つからないと値が空きます
@Autowired(required=false)がない場合、UserDaoImplは継承できません
SqlSessionDaoSupport ,
@Autowired
private SqlSessionFactory sqlSessionFactory;
次にspringプロファイルで