Java EE

Spring Boot中集成Spring Security 专题

不想你离开。 提交于 2020-07-27 22:24:18
check to see if spring security is applied that the appropriate resources are permitted: @Configuration public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { http .csrf().disable() .exceptionHandling() .authenticationEntryPoint(unauthorizedHandler) .accessDeniedHandler(accessDeniedHandler) .and() .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() // .antMatchers("/actuator/**").permitAll() .antMatchers("/actuator/**").hasAuthority("ADMIN" )

SpringCloud之服务注册中心和提供者(Eureka Server和Eureka Client)

跟風遠走 提交于 2020-07-27 22:04:59
一、使用Eureka Server搭建服务注册中心 1.Maven依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> 2.配置文件(application.yml) server: port: 8761 eureka: evictionIntervalTimerInMs: 6000 instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http: // ${eureka.instance.hostname}:${server.port}/eureka/ spring: application: name: blog -eureka-server 3.启动类 package com.springcloud.blog; import org.springframework.boot.SpringApplication; import

Javaweb项目分层概念理解

限于喜欢 提交于 2020-07-27 22:01:52
层次概述 DAO —— Data Access Object数据访问对象(接口) DAOImpl —— DAO的实现类 entity —— 数据对象的实体(有些地方叫model层) Service(不是Server)——就是中间层、业务逻辑层(接口) ServiceImpl —— Service的实现类 Util —— 自定义工具类 Servlet——JAVA WEB小应用(有时叫Controller层) 常见问题 1. JAVA中Servlet层、Service层 、modle层 、 Dao层的功能区分? 答:Servlet层用于接收请求并且调用对应service层处理请求,是Java各层中最接近浏览器的一层。Service层主要编写具体业务逻辑,每个Service一般包含一组相关的业务逻辑(比如用户管理是一个Service,文章管理是一个Service)。modle/entity层(统称模型层)就是对应的数据库表的实体类,一般每个模型层类对应一个数据库“表”,一般是用于ORM对象关系映射,一方面方便从数据库取数据时保存为类,一方面也方便写入数据库,简而言之就是为了方便操作数据库。Dao层一般用于对数据库的具体操作,包括各种具体的增删改查语句和数据库数据和Java模型的映射。Util层主要用于存在项目各层都有可能出现、不好划分到某层中、出现频率较高的功能(类),比如连接数据库

Java Spring Boot VS .NetCore (四)数据库操作 Spring Data JPA vs EFCore

荒凉一梦 提交于 2020-07-27 22:01:26
Java操作数据库的方式用很多可以用JDBC自己去处理 也可以用通过Spring Data JPA 中封装的Hibernate来完成 添加相关的配置 Spring.datasource.url=jdbc:mysql: // 192.168.0.233:3306/test1?useSSL=false Spring.datasource.username= uoso Spring.datasource.password = uosotech_123 Spring.datasource.driver - class -name= com.mysql.jdbc.Driver Spring.jpa.properties.hibernate.hbm2ddl.auto = update Spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect Spring.jpa.show -sql= true 接下来通过.NetCore 中的EFCore 来对比下 两种语言操作数据库的方式 Java JDBC vs .NetCore ADO.NET 这些都是操作数据库底层的东西下面我们来看下有什么区别 先看下Java JDBC代码 下面说下步骤 首先 DriverManager

消息中间件ActiveMQ使用详解

元气小坏坏 提交于 2020-07-27 14:32:19
消息中间件ActiveMQ使用详解 一、消息中间件的介绍 介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流 ,并基于 数据通信 来进行分布式系统的集成。 特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点,可以衍生出很多场景,或者说很多场景都能用到。下面举几个例子: 1)异步通信 ​ 注册时的短信、邮件通知,减少响应时间; 2)应用解耦 ​ 信息发送者和消息接受者无需耦合,比如调用第三方; 3)流量削峰 ​ 例如秒杀系统; 二、消息中间件的对比 1.ActiveMQ 官网: activemq.apache.org/ 简介: ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 特点: 支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议 完全支持JMS客户端和Message Broker中的企业集成模式 支持许多高级功能,如消息组,虚拟目标,通配符和复合目标 完全支持 JMS 1.1 和J2EE 1.4,支持瞬态,持久

微控制器新闻速递STM32

吃可爱长大的小学妹 提交于 2020-07-27 13:54:11
ST微控制器新闻速递: http://m.news.st.com/nl/jsp/m.jsp?c=%40iVMPbDNU27jlIBm9pWRG%2ByBkflBlUzFv70x3%2Bpxx4hA%3D&cid=stmDM28850&bid=297323786&uid=Iw8lVUo3F26RVRv/tHThaDGn2fRmi5CJ 来源: oschina 链接: https://my.oschina.net/u/4330568/blog/4357581

模仿天猫实战【SSM】——总结

时光总嘲笑我的痴心妄想 提交于 2020-07-27 13:01:54
第一篇文章链接: 模仿天猫实战【SSM版】——项目起步 第二篇文章链接: 模仿天猫实战【SSM版】——后台开发 总结:项目从4-27号开始写,到今天5-7号才算真正的完工,有许多粗糙的地方,但总算完成了,比想象中的开发周期要久的多,并且大部分的时间都花在了前端页面的编写上...仅以此文来总结一下 项目总结 功能一览表 大致理了一下功能列表,应该是齐全的,其中推荐链接暂时不支持修改。 项目页面一览表 后端页面: 后台所需要用到的页面,从名字很好区分功能,其中 index.jsp 只有一行代码用于跳转 公共页面: 都是前端页面,从对天猫页面的分析提取出一些复用比较高的页面用于动态的包含在其他前端页面中。 前台页面: 前台相较于后台页面 CSS 更加复杂,交互也更多,我把每一个页面的需要用到的 css 和 js 代码均保留在了当前 JSP 页面中,方便浏览学习。 项目主要逻辑类 控制器(Controller): 用于控制页面的逻辑, 提取出一个 PageController 来专门控制页面的跳转,ForeController 用于前台所有的逻辑操作 拦截器(Interceptor): LoginInteceptor 用于对登录进行判断,因为有一些页面需要登录之后才能访问的,例如:购物车;OtherInterceptor 用于向页面中添加一些其他的数据,例如:购物车数量。 业务层

动态jsp页面转PDF输出到页面

强颜欢笑 提交于 2020-07-27 12:52:44
最近工作中遇到不少问题。总结一下。这段代码主要功能是将一个生成JSP页面转发成PDF输出到页面 需要利用ITEXT String html = ServletUtils. forward(request,response, "/WEB-INF/jsp/depot/print/jhd.jsp"); //转发请求到jsp,返回解析之后的内容而不是输出到浏览器 //System.out.println(html); byte[] pdf = PDFUtils. html2pdf(html); response.setContentType( "application/pdf"); response.setHeader( "Content-Length",String. valueOf(pdf. length)); response.setHeader( "Connection", "keep-alive"); response.setHeader( "Accept-Ranges", "none"); response.setHeader( "X-Frame-Options", "DENY"); OutputStream out = response.getOutputStream(); out.write(pdf); out.flush(); public class

SpringBoot+Thymeleaf实现数据渲染

孤街浪徒 提交于 2020-07-27 12:26:11
目录 Thymeleaf简介 1.是什么 2.优点 3.常用标签 4.标准表达式语法 SpringBoot+Thymeleaf交互 1.交互代码 2.关键代码解析 Thymeleaf简介 1.是什么 Thymeleaf是spring boot推荐使用的模板语法,它可以完全替代 JSP 。 从代码层次上讲:Thymeleaf是一个java类库,它是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。 2.优点 开箱即用,它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、改jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言; Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 有网无网的情况下模版页面都可以执行,美工的页面拿来就可以用,相对jsp减少了额外的标签,页面也更加简洁。 3.常用标签 属性 作用 优先级(数字越小,优先级越高) th:text 设置当前元素的文本内容 7 th:value 设置当前元素的value值,类似修改指定html标签属性的还有th:src,th:href 6 th:each 遍历循环元素,和th:text或th:value一起使用 2 th:if 条件判断

Spring Boot 项目瘦身指南,瘦到不可思议

喜欢而已 提交于 2020-07-27 11:47:22
目录 1.前言 2.瘦身前的Jar包 3.解决方案 一、前言 Spring Boot部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网,部署起来实在头疼:编译出来的 Jar 包很大,如果工程引入了许多开源组件(Spring Cloud等),那就更大了。 这个时候如果想要对线上运行工程有一些微调,则非常痛苦。 二、瘦身前的Jar包 Tomcat在部署Web工程的时候,可以进行增量更新,Spring Boot也是可以的~ Spring Boot编译出来的Jar包中,磁盘占用大的,是一些外部依赖库(jar包),例如:进入项目工程根目录,执行 mvn clean install 命令,得到的Jar包,用压缩软件打开,目录结构如下: 整个Jar包 18.18 MB, 但是 BOOT-INF/lib 就占用了将近 18 MB: 三、解决方法 步骤1: 正常编译JAR包,解压出lib文件夹 POM文件如下: < build > < plugins > < plugin > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-maven-plugin </ artifactId > < configuration > < mainClass > com.johnnian