UserServiceImpl.java
package com.kinsey.woo.service.impl;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.kinsey.woo.dto.User;
import com.kinsey.woo.service.UserService;
@Service("userService")
@Cacheable(value="users",condition="#age < 20")
public class UserServiceImpl implements UserService {
public User getUserByNameAndAge(String name,int age){
System.out.print("getUserByNameAndAge is called...\n");
return new User(name,age);
}
@Override
public User getAntherUser(String name, int age) {
System.out.println("getAntherUser is called...\n");
return new User(name,age);
}
}
package com.kinsey.woo.main;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.kinsey.woo.dto.User;
import com.kinsey.woo.service.UserService;
public class RunMain {
public static void main(String[] args) {
@SuppressWarnings("resource")
ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml");
UserService userService = ctx.getBean("userService", UserService.class);
User u1 = userService.getUserByNameAndAge("Godwin", 22);
User u2 = userService.getAntherUser("Godwin", 22);
if(u1==u2){
System.out.print("u1=u2 \n");
}
User u3 = userService.getUserByNameAndAge("Godwin", 19);
User u4 = userService.getAntherUser("Godwin", 19);
if(u3==u4){
System.out.print("u3=u4 \n");
}
}
}