spring框架
1、spring核心:S控制反转(IoC)和面向切面(AOP)
2、spring优点:
a 方便解耦,简化开发 (高内聚低耦合)
Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
spring工厂是用于生成bean
b AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
c 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
d 方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
c 方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
e 降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
3 、案例
3.1导入jar包
3.2 目标类
提供UserService接口和实现类
获得UserService实现类的实例
之前开发new一个对象就可以,现在交给spring来做,spring创建对象,再ioc反转,需要的时再从spring获取,但需要将实现类的全限定名称配置到xml文件中
public interface UserService {
public void addUser();
}
public class UserServiceImpl implements UserService {
@Override
public void addUser() {
System.out.println("a_ico add user");
}
}
3.3 配置文件
位置:任意,开发中一般在classpath下(src)
名称:任意,开发中常用applicationContext.xml
内容:添加schema约束
约束文件位置:spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\ xsd-config.html
3.4 测试
@Test
public void demo02(){
//从spring容器获得
//1 获得容器
String xmlPath = “com/itheima/a_ioc/beans.xml”;
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
//2获得内容 –不需要自己new,都是从spring容器获得
UserService userService = (UserService) applicationContext.getBean(“userServiceId”);
userService.addUser();
}