初学spring框架浅谈SpringIOC个人心得

初步的学习了spring框架
那么spring框架是啥呢?spring框架包括strut等都是javaEE中的组件
程序的编写讲究开闭原则:即对增加开放 对修改关闭 ( 其目的在于在保证程序的安全的同时,也增加程序的效率)
Spring-IOC(控制反转:即把控制权交给spring管理)主要是解决类于类之间关系的依赖
原始类于类之间的关系依赖都会明显的被编写在类中,这样程序一开始便被写死,不利于后期修改或者重复利用,极大的降低了程序的重复利用率
但是一旦将控制权交给spring的话,我们就不需要考虑类之间的关系问题,只用将每个类所承担的业务完成即可,关系由spring来配置,这样大大提高了代码的复用率
利用spring-ioc的方法:
1>在resources源文件中创建命名为applicationContext.xml(命名可自定义)的spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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
 
</beans>

如上图所示:建立<beans></beans>及相关配置
之后便可在<beans>内部建立以<bean></bean>的关系单元

<!-- 组件 id="唯一标识" class="类的全名"-->
    <bean id="udao" class="com.hellojava.dao.impl.UserDao"></bean>

    <bean id="udao1" class="com.hellojava.dao.impl.UserDao1"></bean>

    <bean id="userService" class="com.hellojava.business.UserService">
        <!-- 依赖关系 -->
        <property name="userDao" ref="udao1"></property>
    </bean>

2>创建一个类 进行配置类的标识

@Configuration
public class SpringContext {

    @Bean(name = "userDao")
    public IUserDao getUserDao(){
        return new UserDao();
    }

    @Bean(name = "userDao1")
    public IUserDao getUserDao1(){
        return new UserDao1();
    }

    @Bean("userService")
    public UserService getUserService(){
        UserService userService=new UserService();
//        userService.setUserDao(new UserDao());
        return userService;
    }
}

3>注解法 也是最常用的方法
在resources源文件中创建.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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">
    <!-- 对component进行扫描-->
    <context:component-scan base-package="com.hellojava"></context:component-scan>
</beans>

之后分别对建立依赖关系类文件进行注解(@component)
总而言之,spring-Ioc大大降低了程序类的耦合度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值