在spring中IOC控制反轉是spring的一個重點內容下面我們通過一個簡單的案例簡單闡述一下springIOC的應用,這其中包括ID和name兩種注入方法和基本屬性的注入方法等標注在注釋中:
1、 新建Java項目并且加入Jar包:
這一步我們首先要新建一個java項目然后導入相關的Jar包支持。在這里我說明一下要導入的Jar包:
分別是:
A、 Spring.jar內部包含控制反轉的內容
B、 Commons-logging.jar是我們用來輸出日志用的
2、 編寫程序得到BeanFactory容器中的java對象
A、 編寫要IOC的Java類
~~~
//類很簡單。只有一個方法用來測試即可
public void addUser(){
System.out.println("============");
}
~~~
B、 編寫beans.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="userAction" class="com.spring.action.UserAction" />
</beans>
~~~
C、 編寫測試類JunitTestCase
~~~
@Test
public void test01(){
//得到容器對象
BeanFactory applicationContext = new ClassPathXmlApplicationContext("beans.xml");
//得到配置的bean
UserAction user = (UserAction) applicationContext.getBean("userAction");
調用相關的方法
user.addUser();
}
~~~
輸出結果:
============
Setter注入:原理同上。只不過是我們不new類里面的屬性。而是只將他聲明出來。然后將容器里面的值配置通過反射賦值過去即可:
在下面的類里面userService屬性并沒有new出來。但是它有一個set方法。賦值的方法也就是配置文件中指定的:
Java文件
~~~
public class UserAction {
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
public void addUser(){
userService.HelloWorld();
}
}
~~~
Xml配置文件:
~~~
<bean id="userService" class="com.spring.service.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
<!—下面的ID可以換成name最大的區別就是name可以有特殊字符,而ID不可以有-->
<bean id="userAction" class="com.spring.action.UserAction">
<property name="userService" ref="userService">
<!—基本屬性的注入方式-->
<value>helloworld</value>
</property>
</bean>
~~~
這里我們首先第一個指定了userService的bean。然后將這個bean按照property指定到了Action的屬性值里面。也就是將值賦了過去。
另外注入的方式分為3種。Setter、constructor、Interface。
我們經常用的也就是Setter了。這里也就只介紹setter方法。
- 前言
- 一、Ioc控制反轉注入原理
- 二、Ioc控制反轉集合注入和Scope
- 三、Bean的懶加載和生命周期
- 四、基于Annotation的bean
- 五、Spring容器組建注解@Component和Resouces實現完全注解配置
- 六、Spring自動裝配注解@Autowired
- 七、Spring Aop的理解和簡單實現
- 八、Spring Aop織入點語法和相關案例總結
- 九、Spring Aop 用xml的方式實現
- 十、Spring DBCP用xml和properties2種格式配置DataSource
- 十一、Spring整合Hibernte
- 十二、Spring中Annotation聲明事務
- 十三、Spring中Xml聲明事務
- 十四、Spring中hibernateTemplate的使用