service 층 에 mapper 타 임 스 빈 지침 을 주입 하여 해결 합 니 다.

service 층 에 mapper 타 임 스 빈 지침 을 주입 합 니 다.
오늘 또 매우 까다 로 운 문제 에 부 딪 혔 다.

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringBoot_Run.class)
@ContextConfiguration(locations = { "classpath:mybatis/mappers/RevMapper.xml" })
public class TestTransaction {
 @Autowired
 RevMapper remapper;
 @Test
 public void testInsert() {
  ReData data = new ReData();
  data.setReTime(new Date()).setSeID("fdewfcdsfdssdfdsf").setSendDate(new Date());
  remapper.insertObject(data);
 }
그다음에 서비스 코드.

public class ReService {
 
 @Autowired
 private RevMapper reMapper;
 private Socket socket=null;
 private BufferedReader br=null;
 private PrintWriter pw=null;
 public void recevice() {
  try {
    //     ,   3081  
      ServerSocket serv
RevMapper 류 는 테스트 할 때 잘 주입 되 어 있 습 니 다.모 는 service 에서 비어 있 습 니 다.계속 비어 있 습 니 다.비어 있 습 니 다!!
인터넷 에서 말 하 는@mapperScan 과@mapper 의 주 해 를 나 는 모두 한 번 더 넣 었 다.이것 은 모 를 위 한 것 이다!!!!!
모든 신 을 박람 하 는 CSDN 에서 나 는 모두 가 베 끼 고 베 낀 것 을 발견 했다.동생 은 탄복 했다!!
해결!!!
제 가 시동 류 에 이렇게 써 있어 서 요.

@SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
@MapperScan(“cn.yungtay.mapper”)
public class SpringBoot_Run {
public static void main(String[] args) {
 SpringApplication.run(SpringBoot_Run.class, args);
 ReMapper re=new ReMapper();
 re.receive;
}
}
대단한 오빠 들 뿌리 지 마,내 첫 반응 은 이 랬 어!!
문제 가 나 왔 습 니 다.대상 이 new 가 나 왔 을 때 그 는 spring 관리 에 맡 기지 않 았 기 때문에 대상 이 전혀 주입 되 지 않 았 습 니 다.null 은 당연한 것 입 니 다.
두 번 째 문 제 는 주 시작 클래스 에 따라 작 동 하 는 방법 을 생각해 보 세 요.이렇게 하 셔 도 됩 니 다.

@Service
public class ReService implements ApplicationRunner{
@Autowired
private RevMapper reMapper;
private Socket socket=null;
。。。。。。。。。。。。。
@Override
public void run(ApplicationArguments args) throws Exception {
 // TODO Auto-generated method stub
          XXXXXXXX
}
내 가 좀 더 지혜 로 워 진 것 같 아!
springmvc 일반 클래스(비 control,service)주입 mapper 는 null 입 니 다.
프로젝트 에 타 이 머 를 쓸 때 mapper 를 주입 하여 데이터 베 이 스 를 조작 하고 serviceimpl 과 같은 주입 을 사용 해 야 합 니 다.

@Autowired
UserMapper usermapper; 
유효 하지 않 습 니 다.debug 후 usemapper 가 null 인 것 을 발 견 했 습 니 다.주입 에 성공 하지 못 했 음 을 설명 합 니 다.
다른 글 을 보고 new 에서 나 온 thread 가 spring 용기 에 없 기 때문에 주입 에 성공 하지 못 하고 bean 을 얻 었 습 니 다.
그러나 그의 방법 에 따 르 면 여전히 null 이 고 그의 생각 은 자발적으로 bean 을 주입 하 는 것 이 옳 을 것 이다.
그러나 나 는 이것 이 좀 특수 할 수 있 기 때문에 결국 최종 대 법 을 사용 할 수 밖 에 없다.

ApplicationContext  ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
usermapper = (UserMapper) ac.getBean("UserMapper");
usermapper.deleteAllCookies();
mapper 에 게 이름 을 주 는 것 을 잊 지 마 세 요.

@Repository(value="UserMapper")
public interface UserMapper {
public List<User> selectByExample(@Param("username1")String username,@Param("password")String password);
public int insertToken(@Param("username1")String username,@Param("token")String token);
public String checkToken(String token);
public int logout(@Param("username1")String username,@Param("token")String token);
public int deleteAllCookies();
}
이 방법 은 주관적 으로 느낌 이 좋 지 않 으 니 우선 이렇게 합 시다!
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기