Spring—–春天
1 | markdown复制代码什么是spring? |
Spring的体系结构
spring的核心之一:IOC
1 | 复制代码IOC翻译过来就是控制反转的意思,那么什么是控制反转呢,大致的意思就是说原来程序是由程序控制的,后来控制权变了,这就是控制反转。 |
从上面的代码来看,我们有没有看出一些问题,相信有一定技术水平的已经看出来了吧。
1 | ini复制代码 UserService userservice=new UserServiceImpl(); |
如何进行改进呢
看出来了吗,在service加一个set方法,在测试类中用户就可以通过这个set方法来选择它想要调用哪个数据库,我们就不用再去改代码了,耦合性降低,最终控制权由程序转向了用户。我们通过这个小例子简单理解一下控制反转。
Ioc快速入门
1 | 复制代码1.创建Maven项目,导入依赖坐标,Spring的依赖坐标 |
1 | xml复制代码<dependencies> |
1 | csharp复制代码 public interface UserDao { |
1 | csharp复制代码public class UserDaoImpl implements UserDao { |
创建核心Spring配置文件,配置文件名称通常交applicationContext.xml
1 | xml复制代码<!-- |
接下来我们进行测试
spring核心配置文件详解
1 | sql复制代码 scope:范围的意思,它的值主要用到的有2个 |
依赖注入
1 | lua复制代码刚才说了Spring可以为我们创建对象,那么属性该如何帮我们赋值呢 |
第一种方式set方式注入
在bean标签中使用property标签
通过name
value
ref
来对属性赋值
1 | ini复制代码<bean id="" class=""> |
第二种方式构造方法注入
1 | ini复制代码 <bean id="" class=""> |
第三种方式P名称空间注入(本质上就是set注入)
1 | bash复制代码 <bean id="" class="" p:属性名="简单值" p:属性名-ref="bean的id"></bean> |
引入外部配置文件
1 | xml复制代码 <!--导入进来db.properties--> |
分模块引入配置文件
1 | ini复制代码 <import resource="classpath:applicationContext-service.xml"/> |
Spring整合Juint
1 | less复制代码@Runwith:用在测试类上,用于声明不在使用junit,而是使用spring运行环境 |
1 | xml复制代码<dependencies> |
1 | less复制代码 @RunWith |
本文转载自: 掘金