3.1 注解开发定义bean
步骤:1,在applicationContext.xml配置文件里再定义一个命名空间context,具体方法如图,xmlns:context然后把第一行复制下来,带bean的全部换成context,同时xsi:schemaLocation也一样,复制第一行内容到第二行,把所有bean改成context
2,在类定义的时候在类的上方定义注解@Conmponent,再在核心配置文件applicationContext.xml中添加<context:component-scan base-package="包名">,这样就不用在xml文件中手动配置bean了
3,在程序中像xml配置bean时一样使用bean创建对象即可。
3.2,纯注解开发
不写配置文件applicationContext.xml了,定义一个配置类SpringConfig。在定义的上面写上
@Configuration(用来代替配置文件中自带的那些信息)和
@Component("包名"),用来扫描包的名字
然后在定义其它要作为bean的类时在上面加上@Component
最后在main函数里,定义IOC容器的时候不是导入配置文件了,而是导入配置类。即下图第二种方式
3.3 注解开发模式下如何设置bean为单例模式或非单例模式,以及bean的生命周期
设置bean为单例模式或非单例模式:@scope注解,单例写“singleton”,非单例写“prototype”
bean的生命周期:
初始化bean ,在类的方法上添加注解@PostConstruct
销毁bean,在类的方法上添加注解@PreDestroy
3.4 注解的依赖注入
@Autowired
简单类型的注入
加载property.xml配置文件
在类里${name}
3.5 使用@bean配置第三方bean
当然我们不提倡把@bean写在SpringConfig里面,因为如果我们需要导入的第三方很多的时候我们的SpringConfig会很长,所以我们希望使用独立的配置类管理第三方bean,如下
然后需要将配置类导入核心配置中,有如下两种方式:
对第三方bean进行依赖注入:分为简单类型的依赖注入和引用类型的依赖注入
简单类型:设置成员变量
引用类型:设置bean的形参
3.6 xml配置文件和注解配置的对比
3.7 Spring整合MyBatis
3.7.1,pom文件加载两个依赖坐标(当然Spring MySQL MyBatis的坐标也要加上)
3.7.2,Spring正常开发,写好SpringConfig。数据源也正常开发,写好JdbcConfig
3.7.3. 新建一个MaBatisConfig类
3.8 Spring整合Junit
3.8.1 先添加pom的依赖坐标(其余Mybatis MySQL也需要)
3.8.2
在项目的test文件夹下新建一个类如图