注解模式注意点
- xml文件的头信息和引用类的方式有区别
1
2
3
4
5
6
7
8
9<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.gphper"></context:component-scan>
</beans> - 注解的使用方式和基于xml的使用方式是可以混合使用的
<bean>
标签的替代注解 Component
- 不取名字时,默认设置为
首字母小写的类的名称
- 还有三个平替注解
Controller
表现层Service
业务层Repository
持久层 效果及使用和Component
注解一样
注入数据标签
Autowired
自动按照类型注入,如果IOC中有多个相同类型的对象时,会按照成员变量的名称寻找。可以配合Qualifier
注解指定多个相同类型对象中的对象idResource
注解 直接指定id注入指定的成员中- 以上标签只能注入 bean 类型的数据,基本类型和String类型的不能使用,注解不支持集合类型的数据注入只能使用xml格式的写法
Value
注解作用于基本类型和String类型,且支持SpEl表达式${表达式}
范围注解
Scope
注解,设置类的作用范围,常用的单例和多例 singleton prototype
生命周期相关注解
PreDestory
相当于destory-method
属性PostConstruct
相当于init-method
1 | package com.gphper.service.imp; |
1 | package com.gphper.dao.impl; |
完全去除xml
Configuration
声明配置类ComponentScan
配置Bean加载包的路径Bean
将方法的返回值注入到IOC容器中Import
在注解类中引入其他注解PropertySource
指定properties配置文件
1 | <bean id="stat" factory-bean="conn" factory-method="createStatement"></bean> |
1 | package com.gphper.config; |
1 | // ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); |