Spring 配置方案(注解的使用)
一、使用注解+xml配置文件
替换:
<bean id="" class="" init-method="" destroy-method="" scope="" autowire="">
<property></property>
<constructor-arg></constructor-arg>
</bean>
1、注入类
(1)@Component
1、含义
将注解所修饰的类,注入spring容器
2、位置
使用在类的前面
3、语法
@Component(value = “id”)
如果省略 value = “id” 默认注入的id为类的名称且首字母小写
4、注意
不可以单独使用
在xml中配合 <context:component-scan base-package=“”></context:component-scan> 使用
(2)@Repostory 注入数据访问层
(3)@Service 注入业务层
(5)@Controller 注入控制层
以上三个注解与 Component 注解语法一致,主要用在三层架构中
2、注入数据
(1)@Value()
1、含义
向属性注入基本类型与String
2、语法
- @Value(“数据”) ----------> 直接把数据写死
- @Value(“${key}”) ---------> 使用键值对进行传值,值需要在一个资源文件中获取
- 在xml配置文件中加入以下标签,加载资源文件
<context:property-placeholder location="资源文件所在路径"></context:property-placeholder>
3、位置
属性
(2)Autowired
1、含义
通过“set”方法【set 方法可以省略】,按照==“类型”==自动装配,如果类型冲突,则按照“名称”转配,即属性名装配
2、位置
属性
3、注意
- 按类型装配如果冲突切换为名称装配
- 按类型装配如果冲突切换为名称装配,如果名称也没有则会抛异常 NoUniqueBeanDefinitionException
- 按类型装配没一个匹配 NoSuchBeanDefinitionException
说明:一般@Component(或@Repostory @Service @Controller )、Autowired 三个一起使用
- @Component(或@Repostory @Service @Controller )负责声明需要加入spring容器的类,
- 配合扫描器在xml中配合 <context:component-scan base-package=“”></context:component-scan> 使用,用于扫描整个包路径中需要加入spring容器的类,并将其加入spring容器
- Autowired 在使用上述注解加入容器成功后,如果需要使用容器创建,则需要配合Autowired注解自动按类型装配,才可成功创建对象
3、其他注解
1、@Primary
- 含义
在类型装配冲突下,此注解所修饰的类作为首选项
- 位置
类
- 注意
不能单独使用
2、@Qualifier
- 含义
按照名称装配
- 位置
属性
- 注意
不能单独使用
3、@Resource
- 含义
按照名称装配
- 位置
属性
- 注意
单独使用文章来源地址https://www.toymoban.com/news/detail-662895.html
4、@Scope
- 含义
作用域 single
- 位置
类
- 注意
不能单独使用
- 举例
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
5、@PreDestroy
- 含义
替换destory-method 销毁
- 位置
方法文章来源:https://www.toymoban.com/news/detail-662895.html
- 注意
单独用
6、@PostConstruct
- 含义
替换 init-method 初始化
- 位置
方法
- 注意
单独使用
二、注解+JavaConfig配置类
1、@Configuration
- 含义:配置类
- 注意:AnnotationConfigApplicationContext
- 用在定义类之前,声明此类为配置类
2、@ComponentScan
- 替换:<context:component-scan base-package=“”></context:component-scan>
- 相当于扫描器
- 用在需要注入到spring容器中的类
3、@PropertySource()
- 替换:<context:property-placeholder location=“”></context:property-placeholder>
- 加载资源文件
4、@Import()
- 含义:导入其他配置类
- 需要传入指定配置类的class对象
@Import(DataSourceConfig.class)
5、@Bean
- 含义:注入类;方法返回值为class 方法名称为id
- 位置:修饰方法
- 注意:单独使用,无需扫描
到了这里,关于Spring 配置方案(注解的使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!