项目结构
build.gradle
apply plugin:'java'
repositories{
maven{
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
dependencies{
compile group: 'org.springframework', name: 'spring-context', version: '3.2.3.RELEASE'
}
UserService.java
public interface UserService {
public void addUser();
}
UserServiceImpl.java
public class UserServiceImpl implements UserService {
@Override
public void addUser() {
System.out.println("UserServiceImpl#addUser");
}
}
applicationContext.xml
<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">
<bean id="userServiceId1" class="com.kimisme.UserServiceImpl"></bean>
<bean id="userServiceId2" class="com.kimisme.UserServiceImpl" scope="prototype"></bean>
</beans>
Program.java
public class Program {
public static void main(String[] args) {
String xmlPath="com/kimisme/applicationContext.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
UserService userService11 = applicationContext.getBean("userServiceId1",UserService.class);
UserService userService12 = applicationContext.getBean("userServiceId1",UserService.class);
System.out.println(userService11==userService12);
UserService userService21 = applicationContext.getBean("userServiceId2",UserService.class);
UserService userService22 = applicationContext.getBean("userServiceId2",UserService.class);
System.out.println(userService21==userService22);
}
}
输出
true
false