初步的学习了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大大降低了程序类的耦合度