Spring整合web開發(6)
阿新 • • 發佈:2018-04-26
Spring整合web開發正常整合Servlet和Spring沒有問題的
但是每次執行Servlet的時候加載Spring配置,加載Spring環境. 在web.xml中配置:
但是每次執行Servlet的時候加載Spring配置,加載Spring環境.
- 解決辦法:在Servlet的init方法中加載Spring配置文件?
- 當前這個Servlet可以使用,但是其他的Servlet的用不了了!!!
- 將加載的信息內容放到ServletContext中.ServletContext對象時全局的對象.服務器啟動的時候創建的.在創建ServletContext的時候就加載Spring的環境.
- ServletContextListener:用於監聽ServletContext對象的創建和銷毀的.
導入;spring-web-3.2.0.RELEASE.jar
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
修改程序的代碼:
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
WebApplicationContext applicationContext = (WebApplicationContext) getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
Spring集成JUnit測試
1.程序中有Junit環境.
2.導入一個jar包.spring與junit整合jar包.
- spring-test-3.2.0.RELEASE.jar
3.測試代碼:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext.xml")
public class SpringTest {
@Autowired
private UserService userService;
@Test
public void demo1(){
userService.sayHello();
}
}
(1)到(6)總結
Struts2:
Hibernate:知識點比較多.
Spring:AOP. 面向切面的思想.
Spring框架 IOC. AOP . 數據訪問 . 集成 . Web
- IOC:控制反轉.將對象的創建權交給Spring.
- DI:依賴註入.DI需要有IOC環境的,DI在創建對象的時候,將對象的依賴的屬性,一並註入到類中
IOC裝配Bean:(XML)
- <bean id=”” class=””/>
-
配置Bean其他的屬性:
- init-method destroy-method scope
-
DI註入屬性:
- 普通屬性:
- <property name=”屬性名” value=”屬性值”>
-
對象屬性:
- <property name=”屬性名” ref=”其他類的id或name”>
- 集合屬性的註入:
- 普通屬性:
IOC裝配Bean:(註解)
@Component 描述Spring框架中Bean
@Repository 用於對DAO實現類進行標註
@Service 用於對Service實現類進行標註
@Controller 用於對Controller實現類進行標註
DI屬性註入
- 普通屬性:
- @Value
- 對象屬性:
- AutoWired
- Resource
Bean的生命周期:
- 後處理Bean.BeanPostProcessor類.
Spring整合Web項目:
Spring整合Junit測試:
Spring整合web開發(6)