Spring配置
Posted 谏书稀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring配置相关的知识,希望对你有一定的参考价值。
一、ioc配置
1、配置pom.xml
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.7</version>
</dependency>
</dependencies>
2、控制反转 IOC(Inversion of Control)
- 控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IOC容器,其实现方式是依赖注入(Dependency Injection,DI).
- 之前代码编写耦合性太高,增加一个业务,就需要程序员修改代码,用户才能调用到业务,这种每次变动都需要修改大量代码,这种设计耦合性太高,牵一发而动全身。
- 通过Set接口的注入,程序不再具有主动性,而是变成了被动的接受对象
3、配置beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--使用Spring来创建对象-->
<bean id="hello" class="com.zhu.pojo.Hello">
<property name="str" value="Spring">
</property>
</bean>
</beans>
使用Spring来创建对象,在Spring中这些都称为Bean
类型 变量名=new 类型
Hello hello = new Hello()
id = 变量名
class = new 的对象;
property 相当于给对象的属性设置一个值
4、IOC创建对象的方式
-
下标赋值
<!--第一种 下标赋值--> <bean id="user" class="com.zhu.pojo.User"> <constructor-arg index="0" value="zhu"/> </bean>
-
通过类型创建
<!--第二种 通过类型创建 不建议使用--> <bean id="user" class="com.zhu.pojo.User"> <constructor-arg type="java.lang.String" value="zhu"></constructor-arg> </bean>
-
sh
<!--第三种 直接通过参数名来设置--> <bean id="user" class="com.zhu.pojo.User"> <constructor-arg name="name" value="zhu"/> </bean> <bean id="userT" class="com.zhu.pojo.UserT"> </bean>
二、Spring配置
1.别名
如果添加了别名,就可以使用别名获取到这个对象
<alias name="user" alias="userNew"></alias>
2.Bean的配置
-
d:bean的唯一标识符,相当于对象名
-
class:bean对象所对应的全限定名:包名+类型
-
name:对象别名,可以同时取多个别名
<bean id="user" class="com.zhu.pojo.User" name="user1,user2"></bean>
3.import
import可以将多个beans.xml合并到一起,导入到allpicationContext.xml中。
<import resource="beans1.xml"></import>
<import resource="beans2.xml"></import>
<import resource="beans3.xml"></import>
使用的时候,直接使用总的配置就好了。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("allpicationContext.xmll");
以上是关于Spring配置的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
Spring boot:thymeleaf 没有正确渲染片段
What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段