目前Spring主要提供了以下三種裝配方式:
一、XML方式配置
1、配置
Spring最早是通過XML方式配置Bean對象,主要實現方式是在項目下創建一個XML文件如 beans.xml,在XML文件聲明Bean時,Spring配置文件的根元素來源於Spring beans命名空間所定義<beans>元素。以下爲一個經典的Spring 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-4.3.xsd">
<bean id="user" class="com.spring.po.Users" >
<property name="name" value="張三"/>
<property name="age" value="30" />
</bean>
</beans>
2、使用
package com.spring.stud;
import com.spring.po.Users;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Hello world!
*/
public class App {
public static void main(String[] args) {
try {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Users users = context.getBean("user", Users.class);
System.out.println(users.getName());
} catch (BeansException e) {
e.printStackTrace();
}
}
}
二、註解方式配置
在Spring3.0以後Spring提供了基於Java註解的配置方式。註解的方式是爲了最小化XML文件的配置。主要實現方式是。
1、在要裝配的類上添加 @Component 註解,如下所示:
package com.spring.po;
import org.springframework.stereotype.Component;
/**
* @Auther admin
* @Date 2018/12/2
* @Description
*/
@Component
public class Address {
//Do something
}
註解說明:
- @Component ——通用的構造型註解,標識該類爲Spring組件
- @Controller—— 標識將該類定義爲Spring MVC controller
- @Repository—— 標識將該類定義爲數據倉庫
- @Service——標識將該類定義爲服務
- 使用@Component標註的任意自定義註解
2、在beans.xml文件中添加<context:component-scan />,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<context:component-scan base-package="com.spring.po"/>
</beans>
3、使用同方式
三、基於Java的配置
1、配置
在使用Spring的Java配置可以讓我們使用XML就可以編寫大多數的Spring配置。我們可以定義一個裝配類,如下所示:
package com.spring.stud.config;
import com.spring.po.Users;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Auther admin
* @Date 2018/12/2
* @Description
*/
@Configuration
public class ConfigBean {
@Bean
public Users users(){
return new Users();
}
}
2、使用
方式一:添加配置文件如同註解配置方式
方式二:如下所示:
package com.spring.stud.config;
import com.spring.po.Users;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* @Auther admin
* @Date 2018/12/2
* @Description
*/
public class ConfigBeanMain {
public static void main(String[] args){
//通過加咱註解的方式裝配類文件
ApplicationContext context = new AnnotationConfigApplicationContext(ConfigBean.class);
Users users = context.getBean("users", Users.class);
}
}