SSM学习——注解开发(6)

感谢黑马!

注解开发定义bean

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对于其它需要定义bean的方式也是很容易的
①在自己需要定义组件的实现类下面加上@Component("自己取名")
在这里插入图片描述

②在xml里面添加扫描包
在这里插入图片描述

③在主函数类里面获取此bean即可
在这里插入图片描述

在这里插入图片描述

其实spring给了我们三个衍生注解分别对应三层架构,来帮助我们阅读
在这里插入图片描述

在这里插入图片描述

纯注解开发

spring3使用纯注解开发模式,使用java类替代配置文件

我们需要在自己官网名的包下新建一个config包,把配置类放进去
在这里插入图片描述

在这里插入图片描述

但是这时候我们并不能用,因为没有在主函数类里面加载配置类:
在这里插入图片描述

然后即可输出
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

bean管理

如果要控制单例/非单例,则需要新加一个注解
在这里插入图片描述

如果需要初始化与销毁操作,那么也要加新注解:
在这里插入图片描述

在这里插入图片描述

因为我们少了个钩子函数

在这里插入图片描述

自动装配

在这里插入图片描述

然后我们来运行一下
在这里插入图片描述

这说明,我们成功自动装配了,也就是说,将对应的dao层与service层绑定在一起了
当然,我们以后这样就可以不用写set方法了,因为@Autowired已经自动装配好了
在这里插入图片描述

但是当我们拥有2个相同类型的装配时,结果可想而知,不行了,这时候我们必须按名称装配(因为自动装配默认按类型装配)所以,如果我们需要有两个相同类型的进行自动装配就需要用到@Qualifier("你想注入的名称")(这时候@Autowired还是要的)
在这里插入图片描述

普通类型的写法:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

但是我们通常是在外部文件加载配置的,因此这样写的意义不大,如果需要加载文件,那我们应该:
①现在是需要加载这个配置文件 的
在这里插入图片描述

②我们需要在配置类里面添加
在这里插入图片描述

③然后${}
在这里插入图片描述

注意:
①ASM ClassReader failed to parse class file - probably due to a new Java clas

这个问题是版本太高
②@PropertySource({“jdbc.properties”})无法找到
这个问题是你的resources包方错位置了,必须是
在这里插入图片描述

修改玩问题即可输出(但是@PropertiesSources不允许使用*
在这里插入图片描述

管理第三方bean

由于不能直接把方法写在人家的jar包里面,那么只能依靠编程
在这里插入图片描述

然后在主函数类里面加载bean与执行输出
在这里插入图片描述

由于如果把所有的bean配置都写到配置类里的话,会变得非常长,因此我们也需要单独拆分成另一个文件

我们把配置bean的代码放在JdbcConfig下面
在这里插入图片描述

然后我们需要配置包扫描了
在这里插入图片描述
并回去把配置包注解加上
在这里插入图片描述

当然这时如果报错Unsupported class file major version 60那就降低jdk版本
然后我们发现可以成功
在这里插入图片描述

当然,这边更建议使用@Import因为只要写一行,而且能看到导入了哪个类
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

为第三方bean注入资源

有时候经常要为A bean得到B bean的数据
对于简单类型数据,他的写法比较粗暴
在这里插入图片描述

引用类型的注入方式非常特殊
好的假设我现在想把BookDao这个实现类给注入,那么我只需要①添加扫描
在这里插入图片描述

在这里插入图片描述

②在方法里面添加类型与名字即可
在这里插入图片描述

在这里插入图片描述

总结

红色写的量非常大
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值