spring框架和ioc反转控制的简单使用

spring框架:

spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器。Spring专注于基础设施,这才使得开发者们能够更好的致力于应用开发而不用去关心底层的框架。Spring框架的核心功能适用于任何Java应用。

spring 优势:

  • Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
    spring工厂是用于生成bean
  • Spring框架能有效的组织中间层对象、dao、service、web层等
  • Spring框架实现了面向接口编程(AOP)
  • 使用Spring构建的应用程序易于进行单元测试。
  • Spring提高了代码的可重用性
  • Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

IOC容器

控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入,ioc是一种设计模式

Spring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存、生命周期管理、 Bean 实例代理、事件发布、资源装载等高级服务。

使用ioc:

首先我们要在pom.xml里注入相关依赖:

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <spring.version>4.1.6.RELEASE</spring.version>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>${spring.version}</version>
</dependency>

配置相关的配置文件applicationContext.xml:

<bean id="UserDao" class="com.chinasofti.etc.dao.impl.UserDAOImpl" />

<bean id="UserService" class="com.chinasofti.etc.service.impl.UserServiceImpl">
    <property name="userDao" ref="UserDao"></property>
</bean>

    <bean id="userController1" class="com.chinasofti.etc.web.UserController">
        <property name="userService" ref="UserService"></property>
    </bean>

使用ioc容器:

public class App {
    public static void main(String[] args) {
        //根据配置文件构建IOC容器
        ApplicationContext ctx =new ClassPathXmlApplicationContext("applicationContext.xml");
        //从容器中获取bean,相当于创建了UserController的实例了
        UserController userController = ctx.getBean("userController", UserController.class);
        String resultMessage = userController.login("zhangsan","123");
        System.out.println(resultMessage);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值