Spring: 프로젝트 를 시작 할 때 데이터베이스 데 이 터 를 불 러 옵 니 다 (총괄)
5968 단어 spring
1. ApplicationListener 인 터 페 이 스 를 실현 하고 onApplicationEvent 방법 을 다시 쓰 면 프로젝트 가 시 작 될 때 이 방법 을 실행 할 수 있 습 니 다.
@Component("userInit")
public class UserInit implements ApplicationListener {
public static Map<String,User> map=new HashMap<String, User>();
public static Map<String, User> getMap() {
return map;
}
public static void setMap(Map<String, User> map) {
UserInit.map = map;
}
private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public void onApplicationEvent(ApplicationEvent arg0) {
System.out.println("------------------- ");
List<User> list=hibernateTemplate.find("from User");
for(User s:list){
map.put(s.getUserName()+s.getPassword(), s);
}
System.out.println(map);
}
}
이 방법 은 실현 이 간단 하지만 감청 규정 이 없 기 때문에 프로젝트 에서 여러 차례 실 행 될 수 있다.
스 터 드 이벤트 가 애플 리 케 이 션 이 벤트 를 계승 했다 면 이 종 류 를 대상 으로 감청 해 야 합 니 다.
public void onApplicationEvent(ApplicationEvent _event) {
if (!(_event instanceof StudentEvent)) {
return;
}
...
}
2. InitialingBean 인 터 페 이 스 를 실현 하고 재 작성 방법 after PropertiesSet () 방법 으로 프로젝트 가 시 작 될 때 불 러 올 수 있 습 니 다.
@Component("userInit")
public class UserInit implements InitializingBean {
public static Map<String,User> map=new HashMap<String, User>();
public static Map<String, User> getMap() {
return map;
}
public static void setMap(Map<String, User> map) {
UserInit.map = map;
}
private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("------------------- ");
List<User> list=hibernateTemplate.find("from User");
for(User s:list){
map.put(s.getUserName()+s.getPassword(), s);
}
System.out.println(map);
}
}
이런 방식 은 한 번 만 불 러 오 는 것 이 비교적 편리 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.