bean

Spring Boot 数据访问

这一生的挚爱 提交于 2020-03-17 03:20:38
1、整合JDBC <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> yaml spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/jdbc driver-class-name: com.mysql.cj.jdbc.Driver initialization-mode: always 效果: ​ 默认是用org.apache.tomcat.jdbc.pool.DataSource作为数据源; ​ 数据源的相关配置都在DataSourceProperties里面; 自动配置原理: org.springframework.boot.autoconfigure.jdbc: 1、参考DataSourceConfiguration,根据配置创建数据源

Java的SSH框架整合

女生的网名这么多〃 提交于 2020-03-16 21:47:09
写了好多篇的Android代码了,在写几篇关于Java的,博客园里肯定都是java的前辈啊,写的不好多给意见。 SSH,什么是SSH呢,Struts+Spring+Hibernate,这三个就是整个的SSH了。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。 , Jar包的链接:链接:http://pan.baidu.com/s/1gfv7EYB 密码:qrpf 如果链接失效了,发我的邮箱,我给你们发送dingchao7323@qq.com 需要的Jar包: 首先看配置applicationContext.xml的代码

Spring面试题

假如想象 提交于 2020-03-16 09:16:59
69道Spring面试题和答案 原文地址 译者:深海(1422207401@qq.com) 校对:方腾飞 目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2. 使用Spring框架的好处是什么? 轻量: Spring 是轻量的,基本的版本大约2MB。 控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面的编程(AOP): Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器: Spring 包含并管理应用中对象的生命周期和配置。 MVC框架 :Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。 事务管理: Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。 异常处理: Spring 提供方便的API把具体技术相关的异常(比如由JDBC

Spring学习笔记

白昼怎懂夜的黑 提交于 2020-03-16 08:57:42
Spring 概述 Spring是什么? Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以 IoC——Inverse Of Control:反转控制 AOP——Aspect Oriented Programming:面向切面编程 为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。 Spring的优势 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 AOP编程的支持 通过Spring的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。 声明式事务的支持 可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。 方便程序的测试 可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。 方便集成各种优秀框架 Spring可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate

spring面试题

梦想的初衷 提交于 2020-03-16 08:41:43
1.选择使用Spring框架的原因? 使用Spring: 第一是使用它的IOC功能,在解耦上达到了配置级别。 第二是使用它对数据库访问事务相关的封装。 第三就是各种其他组件与Spring的融合,在Spring中更加方便快捷的继承其他一些组件。 2.Spring 是如何管理事务的? spring的事务声明有两种方式,编程式和声明式。spring主要是通过“声明式事务”的方式对事务进行管理,即在配置文件中进行声明,通过AOP将事务切面切入程序,最大的好处是大大减少了代码量。 3.Spring IoC容器配置Bean的方式? 答: 基于XML文件进行配置。 基于注解进行配置。 基于Java程序进行配置(Spring 3+) 4.Bean 是如何被管理的? 在Spring框架中,一旦把一个bean纳入到Spring IoC容器之中,这个bean的生命周期就会交由容器进行管理,一般担当管理者角色的是BeanFactory或ApplicationContext。认识一下Bean的生命周期活动,对更好的利用它有很大的帮助。 概括来说主要有四个阶段:实例化,初始化,使用,销毁。 5.阐述Spring框架中Bean的生命周期? ApplicationContext容器中,Bean的生命周期流程如上图所示,流程大致如下: 1.首先容器启动后

2019JAVASpring面试题集总结

心不动则不痛 提交于 2020-03-16 08:39:03
**什么是 spring?** 答:spring是个 Java企业级应用的开源开发框架。Spring主要用来开发 Java应用,但是有些扩 展是针对构建 J2EE平台的 web应用。 Spring框架目标是简化 Java企业级应用开发,并通过 POJO为基础的编程模型促进良好的编 程习惯 **使用 Spring框架的好处是什么?** 轻量:Spring是轻量的,基本的版本大约 2MB。 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找 依赖的对象们。 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器:Spring包含并管理应用中对象的生命周期和配置。 MVC框架:Spring的 WEB框架是个精心设计的框架,是 Web框架的一个很好的替代品。 事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务 (JTA)。 异常处理:Spring提供方便的 API把具体技术相关的异常(比如由 JDBC,hibernateorJDO 抛出的)转化为一致的 unchecked异常。 **IOC的优点是什么?** 答:IOC 或 依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和 JNDI查找机制。最小的代价和最小的侵入性使松散耦合得以实现

可能的面试问题及答案

不羁的心 提交于 2020-03-16 08:34:19
有感 : 应聘 Java 笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。 希望本文能够给即将奔赴笔试考场的同仁些许帮助,更希望更多的人加入到收集整理笔试题与完善答案的这些工作中来,为大家更好的获得工作机会做一点贡献。 在此感谢前面两文的作者的对笔试题目的收集与整理。 如有任何意见与建议请通过QQ:6045306,Mail:huijunzi@21cn.com与我联系。 Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2、ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说. 一.同步性

SpringBoot下配置Druid

假装没事ソ 提交于 2020-03-16 07:58:47
什么是Druid:Druid是阿里发开的一套基于database的监控平台,相对于其他监控来说对于中文的支持更亲民.. 前言:最近这段时间发现项目整体运行响应速度较慢,打算对系统进行深层次的优化(尤其是sql方面),所以打算内置Druid在系统中,用来监控系统的运行情况. 传统的web项目中配置Druid在其github上已有明确的文档,此处不在赘述,如有需要可以参考:https://github.com/alibaba/druid 下面我们来谈谈在springboot中如何内置Druid. 1.需要依赖的jar包: <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>   特别说明一下:如果使用postgresql的朋友请选择:       <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.0.0</version> </dependency>  

SpringBoot——学习笔记

本小妞迷上赌 提交于 2020-03-16 06:57:58
关于微服务和SOA 这,仅是我学习过程中记录的笔记。确定了一个待研究的主题,对这个主题进行全方面的剖析。笔记是用来方便我回顾与学习的,欢迎大家与我进行交流沟通,共同成长。不止是技术。 官网教程学习https://www.martinfowler.com/microservices/ 关于微服务的认识 马丁福乐的论文学习 DDD 领域驱动设计 component 组件 微服务数据治理与去中心化 任何的服务调用都会出现失败的情况 熔断器 微服务的优点和缺点 测试和向后兼容会变的更加的复杂 微服务与传统单体应用项目的区别 微服务宏观把控与深度剖析 ESB(企业服务总线) SOA(面向服务架构)主要针对于企业级,单用ESB,需要序列化和反序列化,采用XML格式传输。 微服务架构主要用于互联网公司。可以独立运行。HTTP+REST+JSON 单体架构存在的缺点: 复杂性高,无法按需伸缩,阻碍技术创新,部署速度逐渐编码,技术债务逐渐上升。 什么是微服务? 简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这种轻量的机制来相互通信。这些服务为夭折业务功能进行构建通过全自动的部署机制来进行独立部署。这些服务可以用不同的语言来编写,并且可以使用不同的数据存数技术。 微服务是一种架构风格

java框架篇---spring IOC依赖注入

笑着哭i 提交于 2020-03-16 00:05:19
spring依赖注入的方式有4种 构造方法注入 属性注入 工厂注入 注解注入 下面通过一个实例统一讲解: User.java package com.bjsxt.model; public class User { private String username; private String password; public User(){} public User(String username, String password) { super(); this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [username=" + username +