
java-spring
仰望星空的快乐
加油加油加油加油
展开
-
Spring的全注解(去掉配置文件)
spring.xml中主要做两件事,开启组件扫描 注册组件开启组件扫描(xml方式) 将写了@service @controller等的类放进ioc开启组件扫描 (注解方式) :@ComponentScan("com.hxut.rj1192.pojo")//开启组件扫描注册组件(xml方式)将类手动放进ioc中注册组件:(全注解方式)<bean class="com.hxut.rj1192.aop.Aopimpl" id="原创 2022-06-30 15:06:14 · 237 阅读 · 0 评论 -
Spring整合mybatis--事务
其实就是aop(基于注解和xml方式)spring管理事务(基于xml和注解方式)_仰望星空的快乐的博客-优快云博客_spring事务xml不同的是,不需要手动实现接口,配置增强方法等,而是在xml文件中配置dataSourceTransactionManager配置好之后,同给方法做增强,给待添加事务的方法做增强即可配置dataSourceTransactionManager <!--通过aop实现事务的织入,即在执行数据库操作时,给方法做增强,增强的部分是一个事务-...原创 2022-05-22 02:28:40 · 510 阅读 · 0 评论 -
ssm框架整合
1.springmvc和只有spring-mvc时一样,web.xml spring-mvc.xmlspring-mvc.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/..原创 2022-05-15 22:31:21 · 143 阅读 · 0 评论 -
bean的引用标签
<import resource="Spring-dao.xml"></import>就是将spring-dao.xml引用了,在这个类中,随便使用spring-dao.xml中定义的bean,如下的ref就是spring-dao.xml中的如果不写import标签,ref会爆红可能ref不是从ioc容器中获得,而是从该文件的内容或者该文件的引用文件上去获得,未证实<?xml version="1.0" encoding="UTF-8" ?><.原创 2022-05-14 23:58:34 · 128 阅读 · 0 评论 -
spring整合mybatis
原始方式读取mybatis配置文件,获取SqlSession SqlSessionFactory 等package com.atguigu.rj1192.zyk;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session...原创 2022-05-14 20:39:25 · 184 阅读 · 0 评论 -
java的代理模式
代理模式,首先要有一个租客,要去找房东,但是找不到房东,所以要找中介,中介再去找房东,中介就是代理角色中介和房东都要有租房子这个事件抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色客户:访问代理对象的人分为静态代理和动态代理静态代理 好处:1.可以使真实角色(房东)只做自己的方法(租房),不用去管一些公共的方法(签合同) 2.公共类交给代理角色,实现业务分工3.公共业务发生扩展的时候,方便集中管理缺点:一个真实角色就会产生一..原创 2022-05-14 00:30:24 · 263 阅读 · 0 评论 -
junit 测试方法
引入spring-boot-start-test 即可中,不需要再引入其他依赖。原创 2022-04-07 11:32:43 · 845 阅读 · 0 评论 -
spring jdbctample方式访问数据库
springjdbcTemplatetest访问mysql数据库,批量插入数据-Java文档类资源-优快云下载这是传统的javaweb方式访问数据库:1.获取 驱动2.获取连接 ----配置链接池,并从链接池获取连接,就是链接池技术3.创建执行sql语句的处理器 ----Statement stat = conn.createStatement(); 或者 preparedstatement或者dbutil辅助类,接收不同类型的数据库查询结果4.执行sql5.处理结果6原创 2022-04-07 11:33:24 · 1288 阅读 · 0 评论 -
Spring5新特性 --@nullable注解
@nullable注解用在方法上,返回值可以为空用在属性上,属性值可以为空,用在参数上,方法参数允许为空,@notnull注解 和@nullable注解正好相反主要是为了避免空指针异常只是会出现一个警告 ,代码不标红,也不标黄...原创 2022-04-05 11:38:51 · 1234 阅读 · 0 评论 -
spring5新特性-日志文件
日志文件(可以找出程序哪里出的错误) 通用的日志封装1.引入四个jar包<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.2</version> </dependency> ..原创 2022-04-03 17:23:26 · 708 阅读 · 0 评论 -
spring管理事务@Transactional注解相关参数
1.propagation事务的传播行为看完就明白_spring事务的7种传播行为_gnixlee的博客-优快云博客_事务传播行为requird方法A调用方法B,A中有事务,不管B中有没有事务,B都被放入A中的事务执行A中没有事务,B就创建一个新事务,和A一起在新事物执行requird-new它会开启一个新的事务。如果一个事务已经存在,则先将这个存在的事务挂起。2.isolation 事务的隔离级别为了解决以下三个问题1>脏读 一个未提交的事务读到了一个未...原创 2022-04-03 11:04:11 · 1377 阅读 · 0 评论 -
spring管理事务(jdbctample,基于xml和注解方式)
1.配置事务管理器<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="dataSourceTransactionManager"> <property name="dataSource" ref="Datasource"></property></bean>2.开启事务注解引入命名空间txxmlns:tx="htt原创 2022-04-03 00:14:05 · 656 阅读 · 0 评论 -
aop操作(自定义类)
1.将被增强类和自定义类放入ioc中2.配置xml文件3.接收实现类 (我这里还是只能用接口接收,未解决)<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" ..原创 2022-05-14 12:09:35 · 374 阅读 · 0 评论 -
aop操作(xml和实现AfterReturningAdvice接口方式)
被增强类package com.atguigu.spring5.AOP1;public class UserImpl implements User { @Override public void del() { System.out.println("删除方法"); } @Override public void add() { System.out.println("增加方法"); } @Overri.原创 2022-05-14 10:57:24 · 280 阅读 · 0 评论 -
aop操作 (注解方式)
1 切入点表达式 告知要增强哪个类中的哪个方法execution(权限修饰符 空格 返回类型 类的全路径.方法名称.参数列表)增强com.atguigu.dao.bookdao类中的add方法execution(* com.atguigu.dao.bookdao.add(..))增强com.atguigu.dao包中所有的方法execution(* com.atguigu.dao.*.*(..))步骤:1.xml文件中开启注解扫描 和代理类对象<?xml vers原创 2022-03-23 00:25:09 · 2041 阅读 · 0 评论 -
JDK的动态代理
主要就一句:Proxy.newProxyInstance(a,b,c)a参数是自己的类,b参数是要实现加强类的接口,c参数是自己写的加强类,要自己写,继承InvocationHandler接口这句执行完即可获得加强类package com.dao;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public c.原创 2022-03-16 20:07:42 · 518 阅读 · 0 评论 -
Spring注解的别名
name="a1 a2, a3" 对于要求很宽松package com.atguigu.spring5;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test1 { Service service1=new原创 2022-05-13 09:46:25 · 295 阅读 · 0 评论 -
aop术语
1.连接点 在一个类中,哪个方法可以被增强,哪个方法就叫连接点2.切入点 实际被增强的方法叫切入点3.通知(增强) 给方法实际增加的部分 分为:前置通知(在原方法执行前执行)后置通知(在原方法执行后执行)环绕通知(前置通知+后置通知)异常通知最终通知4.切面, 把通知应用到切入点的过程...原创 2022-03-17 21:00:06 · 168 阅读 · 0 评论 -
什么是aop
面向切面编程,或者叫面向方面编程降低耦合度,使开发更加方便不通过修改源代码的方式,把新功能增加原创 2022-03-15 18:24:10 · 401 阅读 · 0 评论 -
ioc注解方式和xml方式混用
有个money类,是被放在qianbao类中的money类是使用注解方式,并开启了注解扫描qianbao类是xml方式,则xml中可以直接refmoney类,不用再写beanqianbao类package ioc;import org.springframework.stereotype.Component;@Componentpublic class money { private int account; public void setAccount(int原创 2022-05-07 17:43:17 · 148 阅读 · 0 评论 -
ioc基于注解方式
@Component@Service@Controller@Repository上面四个注解是功能一样的,都可以实现对象的创建,只是习惯把 每个类用在对应的层中,使开发更加清晰基于注解方式 实现对象的创建1.引入原创 2022-03-14 13:00:24 · 511 阅读 · 0 评论 -
bean属性xml方式的自动装配
指的是不需要<bean id="mybeanpost" class="com.testdemo.Mybeanpost"></bean>看下面autowire 属性常用两个值:1.byname根据属性名称注入,要注入的bean的id的值 和类里面属性的名称要一致和要一致package com.testdemo2;public class Student { public Lesson lesson; @Override ..原创 2022-03-13 11:24:16 · 99 阅读 · 0 评论 -
bean的外部属性文件
1.在xml中生成 druid-1.1.21.jar 包中的类一个包中的类可能有很多很多参数,这样用xml配置,要修改参数时不好改,所以需要引入外部的属性文件<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> &原创 2022-03-13 13:15:21 · 85 阅读 · 0 评论 -
bean基于xml文件
bean管理指的是两件事:1.spring创建对象2.属性注入 给对象中的属性赋值两种方式1.读取配置文件<bean id ="user" class="com.atuguigu.spring5.User"></bean>属性值:id是唯一的标识 ,也别的也可以 ,class是对象所在的全路径 包名.类名创建对象的时候,默认执行的是无参的构造函数java如果定义了一个有参构造函数,则不会自动生成无参的构造函数,和c++一样有两种属性注入的方法:原创 2022-03-12 23:30:19 · 1213 阅读 · 0 评论 -
bean的生命周期
生命周期是从生成到销毁的过程1.bean的生命周期 通过构造函数(不管是有参还是无参)来实例化bean2.为bean的属性设置值 和对其他的bean引用(调用set方法)3.调用bean的初始化的方法(需要进行配置) xml文件中加上init -method<bean class="com.testdemo.Lession" id="lession" init-method="initmethod"> <property name="name" value="100原创 2022-03-13 10:46:14 · 2517 阅读 · 0 评论 -
bean作用域 设置创建bean是单实例还是多实例
单实例指的是只生成一个实例对象。package com.testdemo;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class test { public static void main( String [] args) { Appl原创 2022-03-13 09:51:12 · 195 阅读 · 0 评论 -
FactoryBean配置文件定义的 类型 调用时返回 不同的类型
1.在spring中,有两种bean ,一种普通bean(自己写的bean),另外一种工厂bean(facoryBean)2.普通bean 定义什么类型,返回什么类型定义时lession 类型,那返回一定是lesson类型 <bean class="com.testdemo.Lession" id="lession"> <property name="name" value="bookname"></property> <propert原创 2022-03-13 00:54:29 · 274 阅读 · 0 评论 -
什么是ioc
1.什么叫ioc(1)ioc叫做控制反转,是面向对象的一种设计方式,(2)把对象的创建和对象之间的调用过程,交给spring管理。(3)目的:为了使耦合度降低(耦合度:在一个类中,我想调用另一个类的方法,就必须new另一个类,这样耦合度太高了,如果我想修改另一个类的位置,就会影响到我这一个类)在一个类中,我想调用另一个类的方法,不必生成这个类的实例,直接从spring获取,就叫ioc。之前做的入门案例就是ioc的实现2..ioc的底层原理(1)工厂模式降低service和原创 2022-03-07 17:10:36 · 6996 阅读 · 0 评论 -
spring入门案例
1.下载spring52.导入五个jar包,后面四个在spring-framework-5.2.6.RELEASE\libs中,commons-log要从网上下3.创建一个普通类,在这个类中创建一个add1()方法4.新建一个xml,选择spring格式id是自己取的,class是刚才类的类名 <bean id ="user" class="com.atuguigu.spring5.User"></bean>5.新建一个testsprin原创 2022-03-07 16:11:09 · 182 阅读 · 0 评论 -
Spring框架概述
1.是轻量级的javaee框架 体积比较小,jar包较少,能独立运行2.可以解决企业应用开发的复杂性3.spring有两个核心部分:ioc和aop(1)ioc:控制反转,把创建对象过程交给spring管理(2)aop:面向切面,在不修改源代码进行功能增强4.特点{1} 方便解耦,简化开发{2}aop变成测试{3}方便和其他框架进行整合{4}方便程序测试{5}方便进行事务操作{6}降低api开发难度5.学习的是spring5...原创 2022-03-07 15:02:33 · 188 阅读 · 0 评论