spring框架

借鉴 spring 面试内容

风流意气都作罢 提交于 2020-02-21 16:40:29
1. Spring的IOC有三种注入方式 : 第一是根据属性注入,也叫set方法注入; 第二种是根据构造方法进行注入; 第三种是根据注解进行注入 Spring的优点 :主要是根据它的IOC和AOP体现的。IOC主要是解决了代码的耦合性问题,而AOP是面向切面编程的最好解释! 2.Spring中IOC, AOP IOC就是控制翻转或是依赖注入。通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过Spring的bean工厂为你长生这样一个对象。 AOP就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类, 那你每一类中都要写关于日志的方法。但是如果你用AOP,那么你可以写一个方法,在这个方法中有关于数据库操作的方法, 3.Spring的IOC/AOP/代理 IOC是控制反转,是Spring的核心思想。通过面向接口编程来实现对业务组件的动态依赖。 aop是面向切面编程,它并不是只在Spring或者java中才有的,它和面向对象编程(oop)是相对而言的另一种编程思想。 Spring在实现AOP编程时利用的是java的代理机制。个人觉得java代理机制真的是很神奇。核心内容并不多 4.Spring的IOC是解耦,AOP是干什么的 AOP面向切面编程将程序中的交叉业务逻辑(比如安全,日志,事务等)

springboot~Mongodb的集成与使用

 ̄綄美尐妖づ 提交于 2020-02-21 02:05:23
说说springboot与大叔lind.ddd的渊源 Mongodb在Lind.DDD中被二次封装过(大叔的.net和.net core),将它当成是一种仓储来使用,对于开发人员来说只公开curd几个标准的接口即可,而在springboot框架里,它与大叔lind有些类似之处,同样是被二次封装了,开发人员只需要关注自己的业务即可,而标准的curd操作完成由springboot帮助我们来实现,一般地,我们会设计一个与实体对象的接口仓储,让它去继承mongo的标准接口,然后在springboot的依赖注入框架里把标准的实现注入进来,这一切都是框架帮助我们实现的! 在项目中实现mongodb 如果项目需要使用mongodb去持久化数据,一般可以经过下面几个步骤来实现: 1 添加包依赖build.gradle compile('org.springframework.boot:spring-boot-starter-data-mongodb') 如果有单元测试项目,可以使用内嵌的mongodb,这样它不需要与外部资源进行通信,工作原理:从远程下载mongodb包,启动它,测试完成后删除生成的集合 testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo:2.0.3') 2 添加默认的配置项application.yml

SpringBoot整合持久层技术--(三)Spring Data JPA

China☆狼群 提交于 2020-02-20 21:58:22
简介:   JPA(java Persistence API)和SpringData是两个范畴的概念。spring data jpa是spring公司下的spring data项目的一个模块。 spring data jpa定义了接口来进行持久层的编写规范,同时还大大简化了持久层的CRUD操作。 从此可以看出,spring data jpa与jpa之间并没有直接的关系。 jpa是由sun公司定义的持久层规范,但是jpa 并没有做任何简化,其中只有一堆接口。 而spring data jpa中不仅有接口,还有实现类,正是这些实现类实现了CRUD操作的简化,但是实现类并不做CRUD操作。 spring data jpa和jpa一样,虽然定义了持久层的编写规范,但是持久层的具体操作需要由第三方框架来做,它自己并不能做相应的CRUD操作。 简而言之,spring data jpa和jpa的区别: 1、spring data jpa由spring提供 jpa由sun公司提供 2、两者属于同一等级,都是持久层的规范,spring data jpa对CRUD操作做了简化 两者都可以管理任何第三方持久层框架。是同一级别的。 pom.xml     <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring

SSM和SpringBoot的区别(转)

耗尽温柔 提交于 2020-02-20 18:04:38
谈SpringBoot之前,先说一下传统的SSM开发,使用过SSM开发的人都会发现,传统的SSM框架项目会有大量的配置文件,需要手动的区整合三个框架,也就是SpringMVC、Spring、MyBatis,并且需要注意各种配置和兼容,后期的维护难度也很大。 现在快速开发的一个网站的方式层出不穷,像Node.js,PHP。脚本语言也越来越流行,比如Python,Scala,Ruby等,这时候Spring的开发模型就显得相对笨重了。在这种情况下,由Pivotal团队开发了一个工具集,叫SpringBoot。其实本质还是Spring Framework。底层代码也还是Springmvc和Spring的整合。不过不需要手动的区配置,只需要导入相应的依赖,SpringBoot会自动配置。 SpringBoot帮我们做什么什么事情呢? 1、SpringBoot使用了特定的配置方式,开发人员不需要再定义样板化的配置,简化项目的初始构建。 2、SpringBoot提供了更多的组合式注解,简化开发过程。 3、SpringBoot可以"零配置"整合很多第三方工具。 4、SpringBoot提供了内置的容器,部署也变得异常简单。 5、SpringBoot应对监控也提供了相应的方案。 SpringBoot和SSM不冲突,SpringBoot只是简化了配置,实际开发 没什么区别。SSM就好像开手动挡的汽车

Spring5学习(kuang)

*爱你&永不变心* 提交于 2020-02-20 13:37:56
Spring 一、Spring 1.1 简介 Spring:春天 2002年,首次推出了Spring框架的雏形:interface21框架 Spring框架以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版本 Rod Johnson ,Spring Framework创始人 Spring理念:使现有的技术更加容易使用 官网:https://spring.io/projects/spring-framework <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring

Spring Data JPA的概述

时间秒杀一切 提交于 2020-02-20 13:36:47
Spring Data JPA的概述 1.1 Spring Data JPA概述 Spring Data JPA 是 Spring 基于 ORM 框架、JPA规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用Spring Data JPA 可以极大提高开发效率! Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用Spring Data JPA +ORM(如:hibernate)完成操作,这样在切换不同的ORM框架时提供了极大的方便,同时也使数据库层操作更加简单,方便解耦 1.2 Spring Data JPA的特性 SpringData Jpa 极大简化了数据库访问层代码。 如何简化的呢? 使用了SpringDataJpa,我们的dao层中只需要写接口,就自动具有了增删改查、分页查询等方法。 1.3 Spring Data JPA 与 JPA和hibernate之间的关系 JPA是一套规范,内部是有接口和抽象类组成的。hibernate是一套成熟的ORM框架,而且Hibernate实现了JPA规范,所以也可以称hibernate为JPA的一种实现方式,我们使用JPA的API编程

项目记录随笔

本小妞迷上赌 提交于 2020-02-20 11:16:43
毕业很久了,也没有一个能拿出来的自己维护的项目,以后去面试也没有可以展示的内容。所以打算写一个自己的项目。 初步计划 1:搭建一个 进销存管理系统。 初步计划 前端框架:Bootstrap、jQuery      后端框架 : SpringBoot 、Mybatis 如果需要后面补充。 Spring Boot 的核心功能 独立运行的Spring 项目 Spring Boot 可以以jar包的形式独立运行,运行一个Spring Boot 项目只需要通过 java -jar xx.jar 来运行。 内嵌Servlet 容器 Spring Boot 可以选择内嵌Tomcat、Jetty或Undertow,这样我们无须以war包形式部署项目。 提供starter简化Maven 配置 Spring 提供了一系列的starter pom 来简化Maven 的依赖加载。 自动配置Spring Spring Boot 会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。Spring Boot只考虑了大多数的场景,并不是所有的场景。 准生产的应用监控 Spring Boot 提供基于http、ssh、telnet对运行时的项目进行监控。 无代码生成和xml配置 Spring Boot不是借助代码生成来实现的,而是通过条件注解来实现的,这是spring

JAVA - SpringBoot项目引用MyBatis操作数据库

对着背影说爱祢 提交于 2020-02-20 10:19:28
JAVA - SpringBoot项目引用MyBatis操作数据库   我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件。然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我就不说了,集合了所有连接池的好处,并且还提供了监控等功能,加大了可扩展性等等。 1. pom.xml 引用依赖 我们除了引入web依赖之外还引入了三个依赖,分别是MySQL,JDBC,Mybatis,我们如下观看一下完整的依赖情况:      <!--web依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> mybatis的版本号查看: <!--这个依赖已经包括JDBC依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.5.4</version> </dependency> <!--数据库连接--> <dependency

spring security

一世执手 提交于 2020-02-19 17:42:09
安全框架Spring Security 2.1 Spring Security简介 2.1.1 安全框架概述 什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。 2.1.2 常用安全框架 Spring Security:spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 Apache Shiro 是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。 我们课程中采用Spring Security。 2.1.3 认证与授权 认证:限制用户只能登陆才可以访问资源。 授权:限制用户必须有某资源的访问权限才可以访问。 2.2 快速入门 2.2.1 最简单案例 需求:实现简单的登陆,当用户没有登陆访问主页执行拦截跳转到登陆,登陆后跳转到主页。实现退出登陆的功能

Spring boot学习-1

好久不见. 提交于 2020-02-19 16:34:24
Spring boot学习 spring boot是spring家族中一个新的框架,它可以用来简化Spring应用程序的创建和开发过程,能够简化Spring mvc+ Spring + Mybatis(ssm) 框架进行开发 在以往采用ssm框架时,在搭建这三大框架时,我们要做很多工作,如配置web.xml,配置spring,配置mybatis等等,而spring boot 则对其进行了革命性的颠覆,抛弃了大量的繁琐配置过程,采用大量默认配置简化开发过程 Spring boot 可以非常容易和快速地创建基于Spring框架的应用程序,它让编码变简单了,配置变简单了,部署变简单了,监控变简单了 来源: CSDN 作者: snanianxiatian 链接: https://blog.csdn.net/snanianxiatian/article/details/104390483