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
<beans xmlns&#61;"http://www.springframework.org/schema/beans"xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&#61;"http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsd"><bean id&#61;"userDao" class&#61;"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 &#61; new ClassPathXmlApplicationContext("applicationContext.xml");UserDao userDao &#61; (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 &#61; 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 &#61; new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService &#61; (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 &#61; new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService &#61; (UserService)applicationContext.getBean("userService");userService.say();}}