A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 水煮鱼000 初级黑马   /  2019-7-7 10:07  /  672 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

SpringSpring概述
Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。
提供了展现层 SpringMVC和持久层 Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术
Spring的优势
方便解耦,简化开发
AOP 编程的支持
声明式事务的支持
方便程序的测试
spring快速入门
导入 Spring 开发的基本包坐标
<dependencies>
    <dependency>  
       <groupId>org.springframework</groupId>
       <artifactId>spring-context</artifactId>
       <version>${spring.version}</version>
    </dependency>
</dependencies>
编写 Dao 接口和实现类
创建 Spring 核心配置文件,applicationContext.xml
在 Spring 配置文件中配置 UserDaoImpl
<beanid="userDao" class="com.itheima.dao.impl.UserDaoImpl"/>
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名称
scope:指对象的作用范围,singleton默认值,单例的
在servlet使用 Spring 的 API 获得Bean 实例
Bean实例化三种方式
1) 使用无参构造方法实例化
它会根据默认无参构造方法来创建类对象,如果bean中没有默认无参构造函数,将会创建失败

<bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"/>
2) 工厂静态方法实例化
工厂的静态方法返回Bean实例

public class StaticFactoryBean {
    public static UserDaocreateUserDao(){   
    return new UserDaoImpl();
   }
}
<beanid="userDao" class="com.itheima.factory.StaticFactoryBean"
     factory-method="createUserDao" />
3) 工厂实例方法实例化
工厂的非静态方法返回Bean实例

public class DynamicFactoryBean {  
    public UserDao createUserDao(){      
        return new UserDaoImpl();
    }
}
<beanid="factoryBean"class="com.itheima.factory.DynamicFactoryBean"/>
<bean id="userDao" factory-bean="factoryBean"factory-method="createUserDao"/>
Bean的依赖注入
set方法
在UserServiceImpl中添加setUserDao方法
public class UserServiceImpl implements UserService {
    private UserDao userDao;
    public voidsetUserDao(UserDao userDao) {
        this.userDao= userDao;  
        }
    @Override   
    public void save() {     
         userDao.save();
    }
}
配置Spring容器调用set方法进行注入
<bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"/>
<bean id="userService"class="com.itheima.service.impl.UserServiceImpl">
    <property name="userDao"ref="userDao"/>
</bean>
Bean的依赖注入的数据类型
普通数据类型
引用数据类型
集合数据类型
引入其他配置文件(分模块开发)
将部分配置拆解到其他配置文件中,而在Spring主配置文件通过import标签进行加载
<importresource="applicationContext-xxx.xml"/>
getBean()方法使用
ApplicationContextapplicationContext = newClassPathXmlApplicationContext("applicationContext.xml");
  UserService userService1 = (UserService)applicationContext.getBean("userService");
  UserService userService2 =applicationContext.getBean(UserService.class);

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马