package com.solr.boot.user.dao;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
import com.solr.boot.user.domain.User;
@Component
public class UserDaoImpl implements UserDao {
static List<User> users = new ArrayList<User>();
static {
User user1 = new User();
user1.setId(1);
user1.setName("heinrich");
users.add(user1);
User user2 = new User();
user2.setId(2);
user2.setName("jack");
users.add(user2);
User user3 = new User();
user3.setId(3);
user3.setName("mark");
users.add(user3);
}
@Override
public User get(Integer id) {
for(User user : users){
if(user.getId()==id){
return user;
}
}
return null;
}
}
package com.solr.boot.user.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.solr.boot.user.dao.UserDao;
import com.solr.boot.user.domain.User;
@Component
@Scope(value="prototype")
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User get(Integer id) {
User user = userDao.get(1);
return user;
}
}
package com.solr.boot.user.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.solr.boot.user.dao.UserDao;
import com.solr.boot.user.domain.User;
@Component
public class UserServiceSingletonImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User get(Integer id) {
User user = userDao.get(1);
return user;
}
}
package com.solr.boot.user;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.solr.boot.user.config.UserConfig;
import com.solr.boot.user.domain.User;
import com.solr.boot.user.service.UserService;
import com.solr.boot.user.service.UserServiceImpl;
import com.solr.boot.user.service.UserServiceSingletonImpl;
public class UserMain {
public static void main(String[] args) {
AnnotationConfigApplicationContext actx = new AnnotationConfigApplicationContext(UserConfig.class);
UserService bean = actx.getBean(UserServiceImpl.class);
UserService bean1 = actx.getBean(UserServiceImpl.class);
UserService singleton = actx.getBean(UserServiceSingletonImpl.class);
UserService singleton1 = actx.getBean(UserServiceSingletonImpl.class);
System.out.println("是否相等"+bean.equals(bean1));
System.out.println("是否相等"+singleton.equals(singleton1));
User user = bean.get(1);
System.out.println("用户 : "+user);
actx.close();
}
}
package com.solr.boot.user.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("com.solr.boot.user.*")
public class UserConfig {
}