spring框架是现在主流的框架,所以学习记录相关基本知识点
1、这篇博客主要是基础的spring入门级核心内容-----(IOC和DI)
1.1先讲述IOC(控制反转)
概念:即依赖关系的转移,如果以前是通过以来的实现(new创建对象),然而现在通过spring Bean容器反转控制创建对象。
举个例子:
Java//创建一个用户类
public class User{
private String name;
public void setName(name){
this.name=name;
}
public void show(){
System.out.println(name+"创建成功");
}
}
---------------------------------------------------------------
//以前要使用这个类通过new创建
public class TestUser{
public static void main(String[]args){
User user=new User();
user.show();
}
}
---------------------------------------------------------------
//通过spring则需要在配置文件中实现
applicationCont.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
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-id 属性是唯一标识实例化要创建的类 class属性是(包名+类名)这个是要实例化类的路径->
<bean id="user" class="com.ssm.User">
<property name="name" value="张三"></property>
</bean>
</beans>
//创建对象
public class TestUser{
public static void main(String[]args){
ApplicationContext cty=new ClassPathXmlApplicationContext("applicationContext.xml");
User user=(User)cty.getBean("user");
user.show();
}
}
从上述代码可以看出spring部分优点:降低了耦合性。
1.2依赖注入
依赖注入主要两种方式
1是构造方法注入
Java//创建一个用户类
public class User{
private String name;
public User(String name){
this.name=name;
}
public void show(){
System.out.println(name+"创建成功");
}
}
------------------------------------------------
xml文件里
<bean id="user" class="com.ssm.User">
<constructor-arg name="name" value="张三"></constructor-arg>
</bean>
2是属性setter方法注入
Java//创建一个用户类
public class User{
private String name;
//setter方法
public void setName(name){
this.name=name;
}
public void show(){
System.out.println(name+"创建成功");
}
}
------------------------------------------------
xml文件里
<bean id="user" class="com.ssm.User">
<property name="name" value="张三"></property>
</bean>