標籤:1.0 工廠 編程 spring ase group get his 項目
Spring的概述-什麼是Spring
- ·Spring 是一個開源架構
- ·Spring 為簡化企業級應用開發而生.使用Spring可以使簡單的
- JavaBean 實現以前只有EJB才能實現的功能
- ·Spring 是JavaSE/EE的一站式架構
Spring的概述-什麼是Spring
- ·方便解耦,簡化開發
- -Spring就是一個大工廠,可以將所有對象建立和依賴關係維護,交給Spring管理
- ·AOP編程的支援
- -Spring提供面向切面編程,可以方便的實現對程式進行許可權攔截、運行監控等功能
- ·聲明式事務的支援
- -只需要通過配置就可以完成對事務的管理,而無需手動編程
Spring的概述-Spring的優點
- ·方便程式的測試
- -Spring對Junit4支援,可以通過註解方便的測試Spring程式
- ·方便整合各種優秀架構
- -Spring不排斥各種優秀的開源架構,其內部提供了對各種優秀架構(如:Struts、Hibernate、MyBatis等)的直接支援
- ·降低JavaEEAPI的使用難度
- -Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大降低
Spring的概述-Spring的模組
Spring的Ioc的底層實現
Spring的Ioc的入門案例
- 使用idea建立新的maven項目
- 在pom.xml中添加依賴
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency></dependencies>
UserService
public interface UserService { public void sayHello();}
UserServiceImpl
public class UserServiceImpl implements UserService{ public String getName() { return name; } public void setName(String name) { this.name = name; } //添加屬性 private String name; @Override public void sayHello() { System.out.print("hello spring" + name); }}
SpringDemo1
public class SpringDemo1 { @Test /** * 傳統方式開發 */ public void demo1(){ //UserService userService = new UserServiceImpl(); UserServiceImpl userService = new UserServiceImpl(); //設定屬性 傳統方法要改代碼 就不好了 userService.setName("張三"); userService.sayHello(); } @Test /** * 使用Spring 的方式 */ public void demo2(){ //建立Spring的工廠 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //通過工廠獲得類 UserService userService = (UserService) applicationContext.getBean("userService"); userService.sayHello(); }}
applicationContext.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.xsd"> <!-- UserService的建立權交給了Spring--> <bean id="userService" class="com.windbag.ioc.demo1.UserServiceImpl"> <!-- 設定屬性--> <property name="name" value="李四"></property> </bean></beans>
Spring IOC的快速入門案例
- ·IOC Inverse of Control 反轉控制的概念,就是將原本在程式中手動建立UserService對象的控制權,交由Spring架構管理
- ·簡單說,就是建立UserService對象控制權被反轉到了Spring架構
- ·DI Dependency Injection 依賴注入的概念,就是在Spring建立這個對象的過程中,將這個對象所依賴的屬性注入進去。(name)
Spring--Spring入門