一、Spring Ioc&DI配置使用

什么是Spring

  • Spring是一个轻量级的,可以创建对象设置属性值并管理对象的开源框架

为什么要学Spring

  • 提高项目可维护度,提高开发效率

Ioc思想和DI思想

  • Ioc思想:将创建对象的控制权交给Spring,让Spring帮我们创建并管理对象
  • DI思想:在Spring创建对象之后,Spring调用对象的setXxx方法,将Value的值设置到对象的属性中

使用Spring的基本流程

  • 添加Spring的依赖
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.8.RELEASE</version>
    </dependency>
    
  • 编写实体类
  • 编写配置文件,applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--加载db.properties配置文件-->
        <context:property-placeholder location="classpath:db.properties" />
    
        <!--创建数据源DataSource-->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <!--设置连接数据库四要素-->
            <property name="driverClassName" value="${jdbc.driverClassName}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
        </bean>
    
        <!--创建UserDaoImpl对象,并将DataSource设置到对象属性中-->
        <bean id="userDao" class="icu.resip.dao.impl.UserDaoImpl">
            <!--name的值是对象中的属性名称,ref是引用另一个Spring容器的Bean,将Bean设置到该对象的属性值中-->
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!--配置UserServiceImpl对象,并将UserDaoImpl设置到对象属性中-->
        <bean id="userService" class="icu.resip.service.impl.UserServiceImpl">
            <property name="userDao" ref="userDao" />
        </bean>
    
    </beans>
    
  • 编写测试类
    • 启动Spring容器
      • 方式一
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        
      • 方式二
        //下面两个注解相当于启动容器 ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        @RunWith(SpringJUnit4ClassRunner.class)
        @ContextConfiguration(value = "classpath:applicationContext.xml")
        
    • 从Spring容器中获取Bean
      • 方式一
        context.getBean(UserService.class);
        
      • 方式二
        //该注解相当于从Spring Ioc容器中获取Bean context.getBean(UserService.class);
        @Autowired
        private UserService userService;
        
    • 对Bean操作
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容