websocket 使用 component 文章地址
PS: 报错解决@Component下@autowire无效
仅供参考
解决方案一:写一个配置类(即1.3)
举例:
package com.mods.browser.component;
import com.mods.mbg.mapper.AdminMapper;
import com.mods.mbg.mapper.MessageMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class AdminWebSocketServer {
@Autowired
private MessageMapper messageMapper;
@Autowired
private AdminMapper adminMapper;
}
解决:
package com.mods.browser.config;
import com.mods.browser.component.AdminWebSocketServer;
import com.mods.mbg.mapper.AdminMapper;
import com.mods.mbg.mapper.MessageMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
@Configuration
public class MyWebSocketConfig {
@Autowired
public void socketMessageService(AdminMapper adminMapper) {
AdminWebSocketServer.adminMapper = adminMapper;
}
@Autowired
public void socketMessageService(MessageMapper messageMapper) {
AdminWebSocketServer.messageMapper = messageMapper;
}
}
解决方案二:
@Component
public class TestUtils {
@Autowired
private ItemMapper itemMapper;
public static TestUtils testUtils;
@PostConstruct
public void init() {
testUtils = this; //初始化一下,让方法能注入进来
}
}