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) {
// 实例化容器
= new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext applicationContext // 通过容器获取实例
= (UserDao)applicationContext.getBean("userDao");
UserDao userDao // 使用实例中方法
.say();
userDao}
}
通过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) {
= new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext applicationContext = (UserService)applicationContext.getBean("userService");
UserService userService .say();
userService}
}
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) {
= new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext applicationContext = (UserService)applicationContext.getBean("userService");
UserService userService .say();
userService}
}