Spring
soutv
一直在路上
展开
-
springBoot切换开发环境
解决的问题:在开发的时候是一套环境(数据库,端口和各种配置),测试又是一套环境,真实上线又是一套环境。需要在不同的时候切换不同的环境。实现一:在可以写配置文件的那四个地方写application-***.properties的文件,然后在里边写配置。然后在application.properties配置文件里指定使用那套环境spring.profiles.active=***(上边写的配置文件加的后缀名)这个也支持优先级的,文件重名的话,使用优先级高的那个配置文件。.原创 2021-12-02 00:58:46 · 345 阅读 · 0 评论 -
Spring中bean的生命周期
生命周期:对象从创建到销毁的一个总体过程。1)通过构造器创建bean实例(无参构造)。2)对bean的属性设置值和其他bean的引用(调用set方法)。3)调用bean里的初始化的方法(需要进行配置,配置bean标签的init-method="init" 属性为该bean中声明的初始化方法名)。4)bean可以使用了(对象被创建成功了)。5)当容器关闭的时候,调用bean的销毁的方法(需要进行配置destroy-method="destroyMethod" 属性值为该be.原创 2021-07-17 00:12:44 · 90 阅读 · 0 评论 -
Spring中bean的作用域。
bean的作用域(scope)Spring中默认是单实例对象,bean标签的scope属性默认是singleton。单实例。singleton和prototype的区别:1)singleton单实例,prototype多实例。2)设置为singleton,的时候,加载Spring配置文件的时候就会创建对象。 设置为prototype的时候,加载Spring配置文件的时候不会创建对象,在调用getBean()的时候才创建多实例对象。scope还可以设置两个值,re...原创 2021-07-16 22:38:22 · 257 阅读 · 0 评论 -
Spring IOC的理解
IOC思想基于IOC容器完成,IOC底层使用的就是对象工厂。Spring提供IOC容器实现的两种方式:(两个接口)1,BeanFactory:IOC容器基本实现方式,是Spring内部的使用接口,不提供开发人员进行使用。加载配置文件的时候不会创建对象,在获取对象时才去创建对象。2,ApplicationContext:BeanFactory的子接口,提供的功能更加强大,一般由开发人员进行使用。加载配置文件的时候会把配置文件对象创建。3,ApplicationContext的实现类:原创 2021-07-16 22:18:40 · 72 阅读 · 0 评论 -
使用xml配置文件来做Spring的声明式事务管理
先说具体的步骤。还是一样,先导入jar包,在maven仓库中。<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version>原创 2021-07-10 16:20:41 · 265 阅读 · 0 评论 -
在用注解来做Spring声明式事务管理时遇到的问题
用spring来做声明式事务管理有两种方式,可以使用注解,也可以使用xml配置文件。先来说说步骤。首先,不论哪种方式,都需要先在Spring配置文件中创建一个事务管理器。(Mybatis使用DataSourceTransactionManager,)<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <pr原创 2021-07-10 15:57:24 · 153 阅读 · 0 评论 -
使用注解来实现AOP
首先,还是一样的,需要导入AOP的依赖。还有AOP的约束。<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" xmlns:aop="http://www.spr原创 2021-07-09 16:21:42 · 949 阅读 · 0 评论 -
Spring AOP的使用
首先,需要导入一个jar包。 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.7</version> </dependency>第二,使用AOP导入jar包就可原创 2021-07-09 15:21:04 · 96 阅读 · 0 评论 -
java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to com.huchuan.mapper.UserMapperI
这是在使用Java的动态代理的时候遇到的一个错,它一直报类型转换异常。这是代码:接口类public interface UserMapper { int addUser(User user); int deleteUser(int id); int updateUser(User user); List<User> userList();}接口实现类package com.huchuan.mapper;import com.huch原创 2021-07-08 23:02:44 · 1335 阅读 · 0 评论 -
Spring使用注解开发需要的配置
首先,需要导入注解的约束。(用配置文件其它的部分,拿来修改一下就可以了)xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd第二,开启注解。<!--开启注解驱动--><conte原创 2021-07-08 22:50:58 · 198 阅读 · 0 评论 -
使用java的方式来配置Spring
用java代码来替代Spring的配置文件。首先,需要新建一个配置类(Appconfig.java)。第二,在类上加注解 @Configuration 。 这个也会被Spring容器接管,底层也使用了@Component。这样就表明这个类是一个Spring配置类了。第三,创建一个实体类User。第四,在类中创建方法,方法返回值为User,方法名为getUser()。然后加上@Bean注解。需要注意的是方法名就相当于在配置文件里bean标签中的id值了,id = "getUser",不改变大小原创 2021-07-08 21:37:55 · 111 阅读 · 0 评论 -
Spring的注解解释
@Component :组件,放在类上,表示这个类被Spring容器接管了。相当于在配置文件中写<bean id="xxxx" class="这个类的全类名"/> 默认的id为该类名的首字母小写,也可以指定 value = "xxxx"。@Repository :上边个注解的衍生注解,用来标注在数据访问层,也可以指定id。这个注解底层也使用了@Component。默认使用该类名首字母小写来作为id值。@Controller : @Component 的衍生注解,用来标注在..原创 2021-07-08 20:59:32 · 139 阅读 · 0 评论 -
使用c命名空间和p命名空间来做属性值的注入
首先,c命名空间对应着构造器注入的这种方式。p命名空间对应着set注入。第二,要使用这两种方式来对属性进行注入需要在配置文件中导入对应的约束。xmlns:p="http://www.springframework.org/schema/p"xmlns:c="http://www.springframework.org/schema/c"它们的使用语法如下<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:原创 2021-07-08 19:52:41 · 258 阅读 · 0 评论 -
Spring多个配置文件使用需要注意的事项
Spring可以定义多个配置文件,在需要使用的时候指定需要哪个配置文件。而且可以在一个配置文件中使用import标签来导入另一个配置文件,这样就可以通过这个配置文件来使用导入的配置文件里的bean了。需要注意的是,在导入另一个配置文件后,如果出现两个相同的<bean>那会默认使用最后导入的 配置文件中的<bean>。如果在本配置文件中也存在相同的<bean>,那默认使用本配置文件中的<bean>。在将多个配置文件导入一个配置文件后,如果出现原创 2021-07-07 16:47:55 · 210 阅读 · 0 评论 -
Spring使用配置文件注意事项
用Spring来管理项目中的类的创建的时候,可以使用set注入。这种方式需要目标类的属性有setXxx()方法,不然会报错。以下是项目结构和配置文件使用set注入的代码。原创 2021-07-07 16:13:13 · 97 阅读 · 0 评论