![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
以勒先生
一个自发简简单单学习的汉子
展开
-
springmvc中返回的json出现乱码的问题
再springmvc的配置文件中加入 <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8"/> &原创 2020-06-21 21:40:50 · 77 阅读 · 0 评论 -
spring中的事务
事务的四个原则:ACID 原子性:在一个事务当中的所有操作应该被视为一个不可分割的整体,要么全成功,要么全部失败 一致性:倘若事务操作失败,则回滚事务时,与原始状态一致 隔离性:当你在进行事务操作时,其他事务的操作不能影响到你的事务操作 持久性:事务完成了之后,这个事务对数据库所作出的修改就被持久地保存进了数据库当中,不会再被回滚操作影响。即使出现了各种事故,比如机房断电、网络故障等等意外情况,数据库当中的数据也不能丢失。 spring中对于事务的管理可以使用aop完成,我们先来一个实例 我们数据库此时原创 2020-06-21 21:22:02 · 103 阅读 · 0 评论 -
spring与mybatis的整合
首先是正常的mybatis-config.xml的文件(我们的pojo就是一个User.java) <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>原创 2020-06-21 17:25:28 · 85 阅读 · 0 评论 -
aop实现的三种方法
第一种方式就是实现spring自带的接口 依然是正常的增删改查 public interface UserService { public void add(); public void delete(); public void update(); public void query(); } public class UserServiceImpl implements UserService { @Override public void add() {原创 2020-06-14 23:01:29 · 922 阅读 · 0 评论 -
aop学习前奏之动态代理
我们继续按着前面的节奏继续,上次是租房的例子进行的静态代理的方法,也就是多写了一个代理类来进行多余的操作,再加上经常的dao/service这种类型的纵向开发,在不修改源代码的情况下,我们多加了一个代理类来进行修改,但与之而来的缺点就是往往要有一个代理对象的时候我们就必须要多一个代理类,处理倒是较为繁琐,这时另一个概念就随之而来——动态代理。(这种动态的东西总是会和反射有点关系~~) 我们依然还是从租房的例子来说,现在仍是有要代理的对象rent接口和代理的真实角色Host public interface原创 2020-06-14 21:58:59 · 293 阅读 · 0 评论 -
aop学习前奏之代理模式之静态代理
代理模式这个名字就起的很合适,它所要做的就是“代理”这件事,可以分为静态代理和动态代理。 先说静态代理。 其实我觉得静态代理更像是在不改动原有基础类的原则上进行延伸更多的操作,就像继承那样,多了更多的方法,当然这是我初次的感觉,话不多说,用一个小例子来带入静态代理。 现在我来到上海,我想去租一间房,对,需求出现了,那么涉及租房的话就有一个人你必须要知道就是房东,但是很多房东不喜欢这其中的繁文缛节,于是怎么办呢?中介(代理)就来了,于是中介承担了中间一系列如带人看房、签合同等等的操作,顺便还赚了一波,而我作为原创 2020-06-13 23:42:51 · 118 阅读 · 0 评论 -
舍弃spring的xml进行纯Java的注解配置
如标题所记,前面的文章都是在xml的存在下进行的注解等配置,那能不能不用xml呢?答案当然是可以的,请看如下代码。 首先是我先来一个pojo,目的是一会使用其中类的属性作为输出 @Component public class User { public String name="jj"; } 可以看到的是我依然在其上注明了@Component的注解交给spring来管理,但其实并没有什么用,正如上文所说的那样,你没有在xml中把位置给spring,它又不是神仙,自己能跑过来把这个类接管了。原创 2020-06-13 22:32:57 · 126 阅读 · 0 评论 -
初学spring中的几个注解
我们结束了自动装配中的注解开发,接下来就是接触spring中的几个注解,注解开发是比较轻松的,它本身没有那种繁杂的xml的配置,但是事物往往是具有两面性的,因而仁者见仁智者见智。 新建一个项目,在其中依然需要建一个xml文件(虽然说不需要去注册各种bean),我们上一个注解装配中说到要在xml中放入一个 <context:annotation-config/> 今天要有一个新的标签内容 <context:component-scan base-package="com.li.pojo"/原创 2020-06-13 17:38:37 · 77 阅读 · 0 评论 -
spring的自动装配三种模式
第一种装配模式是我们非常熟悉的xml配置,这种装配需要写id,class,还有这个类具体的属性值等等,较为麻烦。 第二种byName和byType的自动装配模式,如何设置呢? 我们有三个类,cat、dog、people,并且people种有cat与dog的属性。 public class Cat { public void shout(){ System.out.println("miao~"); } } public class Dog { public void原创 2020-06-12 23:08:55 · 626 阅读 · 0 评论 -
关于spring中每一个bean的作用域(scope)
其实这个就很简单,idea提示的是有singleton、prototype、request、session四种。就这四种来说: singleton:一般默认的都是这个,就是说你每次创建的bean的引用都是一样的,因为容器中都是那一个。(就是从同一个bean里面来讲,你要是注册了两个bean,从两个取肯定是不一样的!) prototype:这个就和上面那个相反,从一个bean取会报false。 request:这个是web中的request,就是在每一次http请求中都会产生一个bean,仅在当前的re原创 2020-06-06 20:24:11 · 120 阅读 · 0 评论 -
spring中p命名空间于c命名空间的注入
xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" <bean id="user" class="com.li.pojo.User" p:name="小白" p:helloSpring-ref="helloSpring" p:list="[sd,adf,sdf,swwwad,sd]"/> <bean id...原创 2020-06-06 18:14:02 · 181 阅读 · 0 评论 -
spring中不同环境下在xml文件中的set注入
就是针对于不同类型的变量,在spring的xml配置文件中的注入方式。 public class User { private String name; private HelloSpring helloSpring; private String[] zifu; private List<String> list; private Map<String,String> map; private Set<String> st原创 2020-06-06 17:58:33 · 392 阅读 · 0 评论 -
spring中的applicationContext的配置文件import两个不同beans中含有相同的bean的id
测试的结果是,实际上获得的是最后一次导入的bean.xml中的bean原创 2020-06-06 16:39:45 · 290 阅读 · 0 评论