Spring注解开发(新注解)

为什么要用新注解呢?

因为有些东西是原始注解无法替代的,前面我们使用原始注解都是在自己定义的类,可以随意增加属性和方法,但是当我们用第三方类的时候(也就是别人已经定义好的类)这个我们是无法去给它添加属性,方法,也不能去找到别人的源码去里面添加注解,还有在spring的配置文件中我们也无法给类添加组件扫描,这时候我们就要用到新注解。

无法用原始注解来替代的:

关于Spring的新注解:

 

我们使用新注解要有一个思想,这个思想就是替代思想,我们要用一个核心配置的类去替代XML核心文件。

首先我们先创建一个类去替代核心文件:

 然后我们在该类上加一个注解@Configuration(),这个注解就标志这该类是一个核心配置类

接下来我我们就用新注解来完成原始注解无法完成的事情

组件扫描:

我们利用注解@ComponentScan()注解去完成,里面的参数就是我们要扫描的文件包

 非自定义的Bean配置(也就是不是自己定义的类),我们通过创建一个方法来实现,这个方法的返回值就是放到容器Bean中的类型(现在我们就以数据连接池类作为例子)

注解@Bean()里面的参数就是存储到容器中的名字

加载properties配置文件:

经过上面代码发现我们这样写又相当于耦合死了,所以我们要像在容器中那样去调用其他的配置文件properties

我们通过注解@PropertySource()去完成加载properties配置文件。里面的参数就是配置文件的路径,记得要加一个classpath

我们通过用el表达式去直接调用properties里的参数,这样就不会耦合死了

有人就在想,为什么不在setDriverClass中直接用el表达式,因为这里面本来就是传字符串的,你用el表达式它也解析不了,这时候我们就通过以前的原始注解@value()进行普通数据的依赖注入,因为value里面的参数是能够去解析el表达式的。

引入其他文件import:

我们在利用XML配置文件的时候为什么要用import呢?因为如果核心配置文件非常大,我们就需要把核心配置文件分模块的分开成各个小的配置文件,各管各的,最后再引入到核心配置文件中。同样如果核心配置类很大的话,我们也需要去把它分成小块小块的。最后再引入到核心配置类中。

第一步我们先创建一个分配置类,我们现在创建一个关于专门做数据源配置的类

然后我们在核心配置类中,把关于数据源的配置全部转接过去

接下来我们就把非核心配置类(也就是我们现在说的这个数据源配置类)导入到核心配置类中

 

@Import()里面的参数其实是一个数组,如果你要加入不只一个配置类,那么就这么写

@Import({DataSourceConfiguration.class,XX.class})

还有这里面的参数为什么写的是一个字节码文件呢?因为这本来就是一个类

现在我们来写一个测试类,来验证我们是否利用新注解配置成功

这里面可以看出我们根本就没有使用spring的核心配置文件,我们就是通过核心配置类来完成的,说明我们的新注解方式,已经替代了我们以前的XML文件

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值