@Autowired(required = false)
标记在 方法上的时候,它会根据类型去spring容器中寻找 对于的形参并且注入。
@Repository(value="userDao")
public class UserDaoImpl extends SqlSessionDaoSupport implements IUserDao{ // @Autowired
// @Qualifier(value="sqlsessionFactory11")
// private SqlSessionFactory asqlSessionFactory;
//
public User getOne(String uid) {
return this.getSqlSession().selectOne("cn.us.mybatis.getOne",uid);
} public List<User> getAllUsers() {
Object obj=this.getSqlSession();
return this.getSqlSession().selectList("cn.us.mybatis.getAllUsers");
} }
子类也可以,如果配置多个就会报错。
SqlSessionDaoSupport 中有以下方法
@Autowired(required = false)
public final void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
if (!this.externalSqlSession) {
this.sqlSession = new SqlSessionTemplate(sqlSessionFactory);
}
}
只能一个bean,根据 type 类型去匹配的
<bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
因为 required=false,如果spring找不到的话会赋空值进去
如果没有@Autowired(required = false)的话,那么UserDaoImpl 不能继承
SqlSessionDaoSupport 了,可以用组合的方式 然后
@Autowired
private SqlSessionFactory sqlSessionFactory;
然后在spring配置文件中,<bean id=...>配置上 SqlSessionFactory
@Autowired(required = false)的更多相关文章
- (转)@Autowired(required=false)注入注意的问题
1.前言 在使用spring开发过程中,我们基本上都是使用@Autowired这个注解,用来注入已有的bean.但是有些时候,会注入失败.当我们加上参数(required=false)就能解决.今天整 ...
- [Spring]@Autowired,@Required,@Qualifier注解
@Required注解 @Required注解用于setter方法,表明这个属性是必要的,不可少的,必须注入值 假设有个测试类,里面有name和password两个属性 我给两个属性的setter方法 ...
- org.springframework.beans.factory.annotation.Autowired(required=true)
Injection of autowired dependencies failed ERROR org.springframework.web.context.ContextLoader - Co ...
- Autowired(required=true)
问题原因 没有实现类的接口上添加了@Autowired注解 问题解决 删掉@Autowired注解 bug详情 Description: Field userDAO in com.crab.servi ...
- String MVC @RequestParam(required=false) int XXX 参数为空报错解决方法
今天在用@RequestParam(required=false) int XXX 取参数的时候,当参数没有的时候Spring默认赋值为空.而此时使用基本类型int,所以报错,建议使用包装类 Inte ...
- springtest mapper注入失败问题解决 {@org.springframework.beans.factory.annotation.Autowired(required=true)}
花费了一下午都没有搜索到相关解决方案的原因,一是我使用的 UnsatisfiedDependencyException 这个比较上层的异常(在最前面)来进行搜索, 范围太广导致没有搜索到,而且即便是有 ...
- @PathVariable设置为空的问题(required=false)
参考了:http://www.imooc.com/qadetail/268268 最近学习springMVC的时候,学到@PathVariable后,发现@PathVariable有个required ...
- beans.factory.BeanCreationException beans.factory.annotation.Autowired(required=true)
主要是这三个方面排查: 1,注入写成这样 @Autowired private BrandServiceImpl brandServiceImpl; 2,jar冲突,在pom.xml中 ...
- mvc5 @RenderSection("scripts", required: false) 什么意思
在模板中 相当于占位符 使用方法如下 @section scripts{ //coding }
随机推荐
- eclipse 开发web程序,启动tomcat插件服务器的时候。部署目录在那里?
不在tomcat-home/webapps/下面, 你做一个文件上传功能看看就知道了,临时目录一般是你的工作区间workspace\.metadata\.plugins\org.eclipse.wst ...
- C++中二维数组的动态分配
C++中二维数组的动态分配 作者: 来源:csdn博客 公布者:admin 时间:2009-04-23 13:55:03 点击:115 C++中一维数组的动态分配十分经常使用,但C++刚開 ...
- LODOP打印控件之LODOP.NewPageA()方法
通过lodop的强制分页方法,当我们一次性需要打印多张单页面的时候,可以通过该方法实现一次性打出,而不是重复调用打印方法,容易出问题 LODOP.NewPageA(); 说明:强制分页,注意是.New ...
- UI_UITabBarController
建立控制器 // 普通控制器 GroupViewController *groupVC = [[GroupViewController alloc] init]; SecondViewControll ...
- C语言:指针的几种形式
字符串的两种形式: 1.字符数组 char name[32] = “zhangsan”;//只能在初始化时这样做 strcpy(name,”lisi”);//整体赋值只能通过s ...
- eclipse oracle Database Manager plugin oracle数据库连接插件
在eclipseIDE中开发项目需要经常连接oracle数据库,装一些oracle client 去连接数据库,界面来回切换比较麻烦,所以专门找了一个eclipse插件专门连接oracle,跟大家分享 ...
- mysql搭建及数据迁移教程
1.如果jumbo不存在,先安装jumbo 参考 http://hetu.baidu.com/api/tool/show?toolId=174: bash -c "$( curl htt ...
- C/C++ 读取16进制文件
1.为什么有这种需求 因为有些情况需要避免出现乱码.不管什么编码都是二进制的,这样表示为16进制就可以啦. 2.如何读取16进制文件 最近编程用这一问题,网上查了一下,感觉还是自己写吧. 16进制数据 ...
- Python的知识点 plt.plot()函数细节
1.plt.plot(x,y,format_string,**kwargs) 转自点击打开链接x轴数据,y轴数据,format_string控制曲线的格式字串 format_string 由颜色字符, ...
- PHP实战 新闻管理系统 使用到了bootstrap框架
刚刚接触 PHP 仿照视频 写了个新闻管理系统 当中也使用到了bootstrap框架 写下来整理一下思路. 这是个非常easy的系统.首先是建立数据库表. mysql>create databa ...