spring笔记2——注解开发

注解开发定义bean

在程序开头,用@开头的注解代替applicationContext.xml文件中的bean标签配置内容。

搜索标签属于context命名空间

 

 

纯注解开发

 在上面的注解开发定义bean中,用@Component代替了<bean>标签,纯注解开发是定义一个类来代替剩余的配置文件,即以下部分:

 

 这部分可以用两句注解来代替。

虽然可以添加多个扫描路径,但常常将路径设置为一个范围较大的包,就不用一个个添加使用了注解定义bean的类所在的位置了(上图中的"com.itheima")。

SpringConfig.class中要import:

 

而在应用程序中,加载配置文件的语句要变成加载配置类的语句:

 

注解开发bean作用范围

 

 注解开发bean生命周期

 

 

注解依赖注入——自动装配

spring注解功能是为了便利开发,故而对xml配置文件里的一些功能做了阉割。比如依赖注入的功能中,取消了构造器注入和setter注入。只留下了最便捷的自动装配。

(无参构造器也叫无参构造方法,在我们创建类时候,可以不用写构造方法,因为系统会默认给我们提供一个无参构造方法,如果我们自己写了无参构造方法,那么我们这个就将默认的覆盖了。 )

使用@Autowired注解来进行依赖注入时,默认进行按类型注入。

@Autowired可放在任意位置,且不再需要对dao对象的setter方法,因为其使用反射里的倒立反射给dao对象直接加值。

相当于是@Autowired的补充。

 

也叫做值类型注入。

 

注解读取properties文件

在SpringConfig.java里加注解:

 

 

随后在类文件里以"${}"的形式读取properties里的值:

 

 

可以以数组的形式读取多个properties文件:

 

 注解开发管理第三方bean

由于不能把配置注解写在人家的源代码里,只能在配置类里里编程地去配置。

 

写在spring配置类里如下:

 为什么使用DruidDataSource类而不是DataSource接口:因为以下的set方法都是DruidDataSource类独有的方法。

需要写bean的名字的情况不多,经常是拿类型来获取大多数情况完全够用的。 要写就写在@Bean()里。

 

关于jdbc的配置一般不写在spring的配置类里,而是另创建一个类,有两种写法:

1.在JdbcConfig里加上@Configuration注解,然后在SpringConfig里协商@ComponentScan告诉spring个地址让它去找这个配置:

 

 2.SpringConfig:@Import注解内写上配置类,如果有多个就写上{}数组。

 

JdbcConfig:不加@Configuration注解

 

推荐使用第二种,可以精准地看出引入了哪些类。

第三方bean依赖注入

 

 

只给形参就完成了依赖注入。想注入哪个类就在形参里写哪个类,因为spring检测到了这个方法在配置第三方bean,便认为应该提供形参,于是在容器里寻找BookDao类型的bean,找到之后就将其自动装配(默认按类型装配)。

以后@Bean要经常用到,因为要整合框架,就会让spring管理别人写的类。如果整合的bean要东西:引用类型用方法形参,简单类型用成员变量。

 

XML配置与注解配置比较

 

posted @   ban_boi  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示