1.通过注解的方式创建bean
1.1 定义dao层的接口和实现
1.2 定义service层的接口和实现
@Component 组件注解 下面又有3个衍生注解
定义dao的是 @Repository
定义service的是 @Service("loginService") // 可以指定value,如果没有指定需要按照类型从容器中取bean
定义controller的是 @Controller
1.3 在xml文件中配置需要扫描的包
引入扫描的 空间 context ,定义扫描的包
1.4 获取容器,从容器中拿到需要的bean
如果没有在注解中指定别名,获取bean的时候会报错。需要通过类型获取bean
service注解中指定的别名注释掉
获取bean的时候按照别名获取
下面是报的错误
通过类型获取 (正常)
2.从spring 3.0开始纯注解开发,没有xml配置
将xml中的配置全部用注解的方式替换
2.1定义一个配置类
2.2 将获取容器的实现类换成通过注解的方式获取
2.3 运行正常
创建bean的方式没有变化,通过构造方式创建
2.4通过注解方式处理初始化之前的操作和销毁之前的操作
2.4 需要按照单利或多例创建类,只需要在类上加入
@Scope("prototype") 注解指定就可以
3.自动注入需要的bean
留下构造器,将@Autowired注释掉可以正常运行
将构造器和@Autowired同时注释掉,只留下 set方法 提示空指针异常,dao没有注入
将 @Autowired 留下 构造器注释掉 是可以正常注入成功。
总结:可以通过构造器注入或者 @Autowired 加set方法注入(简写只留下@Autowired不写set方法也可以)。
4.有多个实现类的方式
4.1 定义多个dao的接口和实现
4.2 service中的注入 编译报错
4.3 定义多个dao层的实现执行报错,提示不是唯一的
4.4 解决
在service注入中加入 @Qualifier 指定注入bean的名称
5.注解管理第三方的bean
定义bean
在spring的配置文件中导入bean,就是添加到容器中。剩下就是注入使用。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/66216.html