spring
IOC(Inversion of Control):
控制反转
创建对象的方式改变了,以前是new创建对象,现在时通过Spring创建对象
AOP(Aspect Oriented Programming):
面向切片编程
创建代码会有很多重复的部分,如异常处理、日志等。只需要写一遍,利用aop写入程序中
spring核心包
beans:bean管理
Context:上下文(体现在xml配置)
Expression Language:spring EL表达式
Core:spring框架核心
spring入门程序
UserDao.java
package cn.edu.usts.spring;
public class UserDao {
public void say() {
System.out.println("spring test!!");
}
}
applicationContext.xml
spring-framework-4.3.6.RELEASE-dist\spring-framework-4.3.6.RELEASE\docs\spring-framework-reference\html\index.html------>7.2.1
<?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-4.3.xsd">
<bean id="userDao" class="cn.edu.usts.spring.UserDao"></bean>
</beans>
Test,java
package cn.edu.usts.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.edu.usts.spring.UserDao;
public class Test {
public static void main(String[] args) {
// 实例化容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过容器获取实例
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
// 使用实例中方法
userDao.say();
}
}
通过set方法进行依赖注入
UserService.java
package cn.edu.usts.spring;
public class UserService {
public UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void say(){
System.out.println("userService say test!!!");
this.userDao.say();
}
}
applicationContext.xml
package cn.edu.usts.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService)applicationContext.getBean("userService");
userService.say();
}
}
Test.java
package cn.edu.usts.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService)applicationContext.getBean("userService");
userService.say();
}
}