Spring Boot + Shiro + JPA 项目整理

专为新手入门准备的Vue+Spring Boot+Mysql的前后端开发项目 阅读详情
  1. 配置文件 application.properties(页面等资源放在templates中)
    #mysql configure
    spring.datasource.url = jdbc:mysql://localhost:3306/popularfeelings?serverTimezone=GMT&characterEncoding=utf-8
    spring.datasource.username = root
    spring.datasource.password = root
    spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
    spring.jpa.database = MYSQL
    #stripped before adding them to the entity manager
    spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
    
    # Show or not log for each sql query
    
    spring.jpa.show-sql = true
    
    # Hibernate ddl auto (create, create-drop, update)
    spring.jpa.hibernate.ddl-auto = update
    # Naming strategy
    spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
    
    #sqlserver configure
    spring.datasource.url = jdbc:sqlserver://localhost:1433;DatabaseName=test1
    spring.datasource.username = sa
    spring.datasource.password = sa
    spring.datasource.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver
    spring.jpa.database = SQLSERVER
    spring.jpa.properties.hibernate.default_schema = dbo
    
    #test1代表数据库名称
    spring.jpa.properties.hibernate.default_catalog= test1
    
    #设置hibernate方言
    spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.SQLServer2008Dialect
    
    # Show or not log for each sql query
    spring.jpa.show-sql = true
    # Hibernate ddl auto (create, create-drop, update)
    spring.jpa.hibernate.ddl-auto = update
    # Naming strategy
    spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
    
    spring.thymeleaf.prefix=classpath:/templates/page/
    spring.thymeleaf.suffix: .html
    spring.mvc.static-path-pattern=/templates/**
    spring.resources.static-locations=classpath:/templates

     

  2. Shiro配置相关(http://412887952-qq-com.iteye.com/blog/2299777)
    1.shiro config 中的shiroFilterFactoryBean.setLoginUrl("/index"); 配置的是访问链接。拦截后访问此url
    2.页面跳转 http://www.cnblogs.com/zmj1987/p/9262014.html 踩坑:只能使用注解controller 否则返回的是字符串
    3.设置css等文件不拦截  filterChainDefinitionMap.put("/templates/css/**", "anon");//设置不拦截
    4.获取静态资源路径 需设置 spring.mvc.static-path-pattern=/templates/**  
    5.shiro获取当前登录信息
    SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(userInfo,Md5pass,getName()); 设置
    TSUser user = (TSUser) SecurityUtils.getSubject().getPrincipal();  获取
    spring.resources.static-locations=classpath:/templates 
    注意:通过spring.mvc.static-path-pattern这种方式配置,会使Spring Boot的默认配置失效,也就是说,/public /resources 等默认配置不能使用。
    配置中配置了静态模式为/static/,就只能通过/static/来访问。

     

  3. spring boot 传递参数的方式

    1、@PathVariable
    获取路径参数。即url/{id}这种形式。
    2、@RequestParam
    获取查询参数。即url?name=这种形式
    public void demo(@PathVariable(name = "id") String id, @RequestParam(name = "name") String name) {
        System.out.println("id="+id);
        System.out.println("name="+name);
    }
    3.$.ajax({
                url: "/userLogin?username="+username+"&password="+password,
    后台 
     @RequestMapping(value = "/userLogin",method = RequestMethod.POST)
        public String login(String username,String password){
    4.后台向页面返回值  Exception processing template:
    5. data : JSON.stringify(vm.noticeInfo)
      public R update(@RequestBody NoticeInfoEntity noticeInfo) 
       可以直接使用一个map来接收。
    public R update(@RequestBody Map<String, Object> params)
    
  4. spring boot 热部署

    只需要添加devtools依赖即可
    
    		<!-- spring boot devtools 依赖包. -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-devtools</artifactId>
    			<optional>true</optional>
    			<scope>true</scope>
    		</dependency>
    JVM会定时扫描重新加载且仅加载有改动的类文件(.class文件),而不是加载所有的类文件,大大减少了类加载耗费的时间,从而实现热部署的功能。
    Eclipse默认自动编译,而idea默认手动编译,因此idea需要修改两个参数以达到任意时间自动编译的目的。
    
    首先,File->setting->搜索compiler->将Build project automatically打勾(注意后面only works not running/debugging,所以我们要实现热部署就必须打破这个限制,于是乎有了下面设置)
    
    然后,CTRL+ALT+SHIFT+/ 组合键打开 Maintenance窗口选择Registry... ,找到compiler.automake.allow.when.app.running选项,打勾开启运行时编译功能

     

  5. SpringBoot项目打war包

    1.pom.xml中的packaging设置成war<packaging>war</packaging>
    
    /**
     * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
     */
    public class SpringBootStartApplication extends SpringBootServletInitializer {
    
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            // 注意这里要指向原先用main方法执行的Application启动类
            return builder.sources(Application.class);
        }
    }
    
    【注意】:这个新建的类,与springboot的启动类是同级的
    2. <!--声明spring boot内嵌tomcat的作用范围  在运行时不起作用-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
    3.<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    https://blog.youkuaiyun.com/Shen_S_H/article/details/79178558

     

  6. 设置tomcat不加项目名称访问 \conf\server.xml中
    <Context path="" debug="0" docBase="/Demo" reloadable="true" />
    可能会出现 一个tomcat中有两个项目 你的项目和root
    此时需要配置 springboot中的application.propertise中spring.jmx.enabled=false

  7. 遇到的问题

    1.No default constructor for entity
    【解决方法】
    当实体类声明了其他带参构造方法时,需要显式声明不带参构造方法。
    2.SqlServer user附近有语法错误 
    【解决方法】
    @Table(name = "[user]") user 是关键词 尽量不要用作表名,若必须使用可以使用[]解决。
    3.html页面之间跳转 404错误
    【解决方法】
    window.location.href = "signin";
    这个代码的意思是跳转到signin这个请求,SpringBoot会根据Controller中的RequestMapping找到"/signin"请求,然后执行里面的内容
    4.JPA中save方法更新时,如果试题中有的字段未null时,更新原有数据为null。
    【解决方法】
    https://www.cnblogs.com/kongxianghai/p/7575988.html  jpa自定义sql  
    更新
    @Transactional
    @Query(value=“UPDATE xxEntity xe SET xe.data= :date WHERE xe.id= :id”)
    int  update(@Param(“date”)Date date,@Param(“id”)int id);
    5.查询
    @Query("select id,ywnr,gdlsh from Bill where csr_cssj is null and  csr_id =:csr_id")
    public List<Bill> findByCsrId(@Param("csr_id") String id);

     

2024最新版SpringBoot实战项目教程,美团专家带你深入SpringBoot 很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。 阅读详情

相关推荐

springboot+jpa+shiro基础权限管理系统Demo

springboot+jap+shiro 实现了用户、 角色、模块三个表的权限管理。增加对druid的数据监控,swagger ui的嵌入, 第一次优先把resources下的test数据库导入, 不然不能登录看到效果。 直接运行Application类即可启动。

采用springboot+jsp模板+shiro 打成war包,项目部署的问题解决

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34236497的博客 418

maven+springboot+jpa+shiro权限管理内有数据库sql

maven+springboot+jpa+shiro权限管理内有数据库sql,只要哪里这个基础代码之后的功能添加很方便,适合快速实现项目

一看就懂!SpringBoot+Shiro+JPA 搭建管理员、角色、权限通用权限管理系

Shiro Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。详细介绍可以看我的另一篇Shiro的学习笔记 Shiro 安全框架入门笔记 这次我们利用shiro快速搭建一个通用的权限管理系统,如果是需要前后端分离可以看我另一篇文章 Springboot +Shiro 前后端分离式权限管理系统 github代码:https://github.com/F...

大誌的博客 4757

springboot+jpa+shiro的简单项目

个人自主学习及参考网上的资料搭建的一个基于springboot+jpa+shiro的简单的项目。mysql用的是8.0.13版本的,如果是旧版本的mysql可能需要更换mysql的驱动名称及jar包。 该工程是在idea上开发的,可直接导入到idea中 数据库及表会自动创建。目前只用到了user表,其他的是用作权限控制所需要的 启动成功后直接访问localhost:8080即可访问,账号及密码自行注册。

springboot集成jpa以及shiro

Springboot集成shiro以及数据库jpa实现用户权限、认证的登录,本案例为小型demo,可下载后直接使用

spring-boot+shiro+jpa集成

###spring-boot+shiro+spring-data-jpa API开发使用基础框架 一、 集成spring-boot 1、 添加spring-boot依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version&g

^@Hu@^的博客 376

shiro-auth:使用SpringBoot+SpringJPA+Swagger+Shiro快速搭建前后端分离的权限管理系统

shiro-auth 快速搭建前后端分离的权限管理系统 提供一套基于SpringBoo+shiro的权限管理思路. 前后端都加以控制,做到按钮/接口级别的权限。 并没有加加密等过多限制,避免增加大家学习的负担。 #####本文只是提供一套基于shiro前后端分离的思路。 根据这个思路我们可以最终使用Spring的拦截器,或者servlet的Filter实现同样的权限管理 演示地址 默认用户 用户 角色 权限 Jack SVIP select;save;delete;update Rose VIP select;save;update Paul P select 后台基于 Springboot JPA Swagger Shiro 前端基于 VUE ElementUI 前端代码: 详细介绍请戳博客 里面有详细的使用介绍以及实现思路。 sql文件在/resources/doc下

spring boot 2 + jpa + shiro 实现权限管理

开发版本: IntelliJ IDEA 2019.2.2 jdk1.8 Spring Boot 2.1.11 MySQL8.0 一、创建SpringBoot项目,添加依赖包和配置application.yml 在IDEA中创建一个新的SpringBoot项目 1、pom.xml引用的依赖包如下: <dependency> <groupId>...

andwey的博客 615

Keysight ADS新手必看:3分钟搞定TDR模拟的保姆级教程(附差分信号设置技巧)

本文为Keysight ADS新手提供TDR模拟的保姆级教程,详细介绍了从基础环境准备到差分信号设置的全流程。通过内置模板调用、待测器件连接和仿真结果解读,帮助用户快速掌握TDR模拟技术,特别包含差分信号配置技巧,提升信号完整性分析效率。

weixin_30872157的博客 199

Zabbix Trigger actions访问出现500

本篇博客详细介绍了Zabbix访问'Trigger actions'出现的错误状况,访问界面出现500,并提供了解决方案。

格子的博客 564

shiro+springboot+jpa

shiro 权限登陆 目录结构: jpa建表 : 权限表: @Setter @Getter @Entity @Table(name="T_PERMISSION") @XmlRootElement(name = "permission") //jersey 接受传递对象用 public class Permission { @Id @Column(nam...

qq_41764878的博客 495

黑马程序员Pink的javaScript课程APIday4

本文摘要:介绍了JavaScript中日期对象的实例化方法(有参/无参)及三种获取时间戳的方式。讲解了DOM节点操作,包括节点查找(父、子、兄弟节点)、增加/克隆/删除节点的方法。详细说明了移动端touch事件和Swiper插件的使用,包括自动播放和小圆点配置。最后提及学成在线案例中表单验证和取消默认跳转的实现。

JLY19970726的博客 826

Java 毕设实战:基于 Spring Boot + Bootstrap 的库存管理系统设计与实现

本文针对Java毕业设计需求,介绍了一个基于Spring Boot和Bootstrap的库存管理系统设计方案。系统采用主流技术栈(Spring MVC、JPA、Shiro等),功能模块包括用户权限管理、基础信息维护、核心库存业务(进货/退货/查询)和系统日志。重点强调了业务逻辑闭环设计(库存变动必须通过单据驱动)和论文友好性(模块划分清晰、技术点明确)。文章指出毕设项目应注重结构完整性和可解释性,而非单纯追求技术复杂度,为Java毕设选题和实施提供了实用参考框架。

聚焦学生开发者需求,分享课设毕设项目实战经验、系统开发技巧、数据库设计规范及文档排版实用方法。 758

vmware虚拟机网络连接问题

主机:ubuntu14.04 Vitual Network Editor

入门虽易,精通不易,且学且珍惜! 1354

CAN信号定义避坑指南:Kvaser Database Editor里Byteorder和Bitpos设置的那些‘坑’

本文详细解析了在Kvaser Database Editor中配置CAN信号时,字节序(Byteorder)和起始位(Bitpos)设置的常见错误及解决方案。通过实际案例和验证技巧,帮助工程师避免DBC文件配置中的陷阱,确保车载电子系统的稳定通信。

weixin_28678831的博客 360

【Springboot系列】Springboot入门到项目实战

写在前面: 之前陆陆续续写了一下Springboot相关的博客,写的也是比较零散。现在把之前写的Springboot相关的博客全部整理在这里,方便查看。 ...

小马同学 2万+

SHAP图全解析:从理论到实践,教你如何读懂和优化模型特征

本文全面解析SHAP图,从博弈论基础到实战应用,指导读者如何解读和利用SHAP值优化机器学习模型。通过详解特征重要性条形图、小提琴图、依赖图及决策图等关键可视化工具,帮助数据科学家精准诊断模型、识别特征交互,并将洞见转化为特征工程与模型调试的实际行动,有效提升模型可解释性与性能。

svm4gardener的博客 189

这 6 个 Spring Boot 项目够经典

点击上方Java后端,选择设为星标优质文章,及时送达不得不佩服 Spring Boot 的生态如此强大,今天我给大家推荐几款 Gitee 上优秀的后台管理系统,小伙伴们再也不用从头到...

公众号:Java后端 3167

麦当劳app之sign逆向分析

摘要:本文分析了麦当劳APP请求参数sign的逆向过程。通过抓包发现32位sign参数疑似MD5加密,使用frida-trace工具跟踪CC_MD5函数验证其为标准MD5算法。加密参数包含时间戳、token、版本号等固定和动态字段,拼接后经MD5加密生成sign。文章提供了JS和Python两种实现方案,包含完整的请求头参数和加密逻辑,最终成功获取API响应数据。该研究仅用于逆向技术学习,展示了移动应用常见加密参数的逆向分析方法。

佛系更新... 2443

传感器模块的电路艺术:从引脚定义到系统集成的设计哲学

本文深入探讨传感器模块的电路设计艺术,从引脚定义到系统集成的完整设计哲学。重点解析电源管理、信号处理及I2C通信协议等核心电路原理,分享多模块协同中的电源架构、信号完整性和接地策略,为硬件工程师提供实用的系统级设计思维与实战案例。

o1p2q3r的博客 225

牛批!阿里P8大牛写了一份Spring Boot2教程,已整理成文档。

前言 Spring Boot的优点 创建独立的Spring应用程序 嵌入的Tomcat、Jetty或者Undertow,无须部署WAR文件 允许通过Maven来根据需要获取starter 尽可能地自动配置Spring 提供生产就绪型功能,如指标、健康检查和外部配置 绝对没有代码生成,对XML没有要求配置 随着近年来微服务的流行,越来越多的企业需要快速的开发,而Spring Boot除...

一入Java深似海 1859

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!

本文已经收录进:awesome-java (Github 上非常棒的 Java 开源项目集合) 很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这么好用以及天然微服务友好。不夸张的说,Spring Boot 是 Java 后端领域最最最重要的技术之一,熟练掌握它对于 Java 程序员至关重要。 这篇文章我会推荐一些优质的 Spring Boot 开源教程 和 Spring Boot 实战项目,帮助大家深入学习 Spring Boot。项目质.

JavaGuide 2619

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

双数据源,整合Springboot、Mybatis-plus、shiro、Activiti7的过程、经验总结以及遇到的一些bug

项目场景: 在做审批中心的时候,原项目使用的是jpa,我想要改成mybatis-plus,并且自己整理思路重新写一下审批模块,所以有了这篇文章 整合步骤 pom依赖 因为我这里还使用了eureka、feign、sentry,所以引入了这些依赖,如果不需要的话可以去除,第二、第三个依赖是我自己的子模块,注意:整合activiti7和mybatis-plus的话一定要将activiti7中的mybatis依赖给去除,不然会造成版本冲突! <dependency> <

qq_32388061的博客 1332

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Spring Boot面试题整理

Spring Boot面试题整理 什么是Spring Boot? 简化使用spring的难度,简化配置,提供各种启动器 spring boot优点? 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 spring boot核心注解是?由哪几个注解组成? 核心注解:@springbootapplicatio...

qq_26795797的博客 222

12年开发大佬,熬夜4个月整理的SpringBoot实战派,绝对涨薪秘籍

对初学者来说,第3章值得细心体会,可以作为入门开发工具的教程来研读,其中的工具使用方法也是作者实践过的。ORM ( Object Relational Mapping,对象关系映射)框架:数据库的操作是程序开发中非常重要的一块,根据国内外用户的习惯,本篇对比讲解了全球最火的JPA和中国最流行的MyBatis。第4章讲述了Spring Boot的工程搭建,如何使用Spring Boot注解进行开发,并阐述了注解的基本概念和使用原理,同时读者可以跟着实例进行实际操作,体会注解式编程与配置文件的结合使用。

2501_90399497的博客 698
上一篇: SpringBoot前端页面获取form中元素,封装为json字符串,使用JPA更新数据
下一篇: SpringBoot中Shiro使用身份认证配置
codeLife1993
博客等级 码龄8年 23粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值