关于Springboot + hibernate 使用websocket的详细代码
来源:互联网 发布:知乎pc客户端 编辑:程序博客网 时间:2024/06/07 10:26
在之前,学习Springboot的时候遇到了许多的问题,希望通过这个博客向爱好学习Springboot的人避免一些误区;
主要是Springboot + hibernate +websocket ,好了废话不多说开始吧:在之前我就不说springboot环境的问题了,网上教程也很多。
一、首先创建一个Springboot工程:
然后选择所需要的包:
然后先创建一个实体类:User类
@Entity@Table(name = "t_user")public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY) //这是自增private int id;@Columnprivate String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
在src/main/resources/application.properties中配置数据库连接:
#这里是设置自定义端口号server.port=8088#连接数据库信息spring.datasource.url = jdbc:mysql://localhost:3306/mytestspring.datasource.username = rootspring.datasource.password = 1234spring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.max-active=20spring.datasource.max-idle=8spring.datasource.min-idle=8spring.datasource.initial-size=10## 实体类自动扫描的包前缀 entitymanager.packagesToScan= com.sanker.Bean######################################################### Specify the DBMSspring.jpa.database = MYSQL# Show or not log for each sql queryspring.jpa.show-sql = true# Hibernate ddl auto (create, create-drop, update)spring.jpa.hibernate.ddl-auto = updatespring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
注意:如果你的实体类属性为userName 中有大写的情况 ,数据库自动建表的字段是:user_name;
在来创建一个websocket类:
主要是websocket的配置类很重要:websocketconfigimport org.springframework.context.annotation.Bean;import org.springframework.web.socket.WebSocketHandler;import org.springframework.web.socket.config.annotation.WebSocketConfigurer;import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;@Configuration@EnableWebSocketpublic class WebsocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {// TODO Auto-generated method stubregistry.addHandler(WebSocketController(), "/websocket")//这里是地址.setAllowedOrigins("*");//设置所有的域名都可以访问,也就是说可以跨域访问}@Bean //这里就是给websocket.Java类说明他是一个websocket控制器 public WebSocketHandler WebSocketController() { return new WebSocket(); } }
这样写websocket类里面就可以注入属性了!!!!!!这个很重要;
import java.io.IOException;import org.springframework.web.socket.CloseStatus;import org.springframework.web.socket.TextMessage;import org.springframework.web.socket.WebSocketSession;import org.springframework.web.socket.handler.TextWebSocketHandler;public class WebSocket extends TextWebSocketHandler {private WebSocketSession session;/** * 连接关闭调用函数 */@Overridepublic void afterConnectionClosed(WebSocketSession session, CloseStatus arg1) throws Exception {// TODO Auto-generated method stubSystem.out.println("afterConnectionClosed");}/** * 建立Websocket连接成功调用函数 */@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {// TODO Auto-generated method stubthis.session= session;System.out.println("afterConnectionEstablished");}/** * 接受到客服端发送的消息 */@Overridepublic void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {// TODO Auto-generated method stub}@Overridepublic void handleTransportError(WebSocketSession session, Throwable arg1) throws Exception {// TODO Auto-generated method stubSystem.out.println("handleTransportError");}@Overridepublic boolean supportsPartialMessages() {// TODO Auto-generated method stubSystem.out.println("supportsPartialMessages");return false;}/** * 发送消息 * * @param msg */public void sendTextMessage(String msg) {TextMessage t = new TextMessage(msg);try {session.sendMessage(t);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
如果写@ServerEndpoint 是不能注入属性的。大概就这样了
阅读全文
1 0
- 关于Springboot + hibernate 使用websocket的详细代码
- 关于springboot+websocket+mybatis的问题
- 关于PHP中websocket使用的详细注解
- springboot使用websocket遇到的坑
- SpringBoot 使用WebSocket
- springboot使用hibernate的SessionFactory实现BaseDao
- springboot websocket
- SpringBoot-Websocket
- SpringBoot + WebSocket
- spring+websocket的整合实例(超详细,可使用)
- 基于 SpringBoot 和 webSocket 的匿名聊天室
- springboot中websocket的简单应用
- SpringBoot20-springboot的Web开发-WebSocket
- SpringBoot WebSocket 实现简单的聊天功能
- SpringBoot中WebSocket的应用:聊天室
- SpringBoot中WebSocket的应用:即时通讯
- hibernate+struts2的详细分页代码
- 关于Hibernate的手动配置详细过程
- Oracle使用Mybatis实现批量插入数据(Oracle)
- android 跳转到应用权限设置界面
- UVC 摄像头驱动(三)配置摄像头,实时数据采集
- 解决ScrollView嵌套RecyclerView的冲突,非常简单,只需要3个步骤!
- (一)基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解
- 关于Springboot + hibernate 使用websocket的详细代码
- oracle触发器使用
- Linux gcc链接动态库出错:LIBRARY_PATH和LD_LIBRARY_PATH的区别
- bnuoj49098 神奇的身高
- 逻辑回归(Logistic)
- Linux系统监控命令
- 旋转数组 二分查找 查找一个目标值
- 如何将你的 MySQL 查询速度提升 300 倍
- 记录遇到的面试题以及遇到的有意义的问题