spring10-配置AOP

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial spring中的AOP 连接点,被拦截到的点,在spring中指的是方法 切入点,被增强的连接点 通知 在调用方法前的是前置通知,在后面的是后置通知,在catch中的是异常通知,在final中的是最终通知,整个invoke方法就是环绕通知 Target 被代理的对象     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring9-动态代理

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial account案例   我们有一个转账方法: 根据名称找到账户,转出账户减钱,转入账户加钱,更新转出账户,更新转入账户,这个方法没有事务的控制,可能出现问题 案例问题   实际上我们需要维护一个和线程绑定的数据库连接,我们做一个工具类,让其支持回滚,于是我们在上诉案例中可以使用trycatch,一旦碰到问题,在catch中回滚即可,这个可以解决问题,但是太复杂了。     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring8-spring整合junit

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial spring整合junit@RunWith 我们需要切换junit的main @ContextConfiguration 指定配置类或者配置文件 12345<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.8.RELEASE</version></dependency>     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring7-注解配置IOC

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 注解配置IOC 先总结一下之前的东西,曾经的XML配置,有标签id和class用于构造,有scope用来表示作用范围,有init-method和destroy-method用来表示生命周期,有property用来表示依赖注入 告知spring去扫描1234567891011121314<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.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <context:component-scan base-package="com.wsx.spring"></context:component-scan></beans>     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring6-依赖注入

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial sprint的依赖注入 dependency injection IOC是降低程序之间的依赖关系的,我们把依赖关系交给spring维护,依赖关系的维护就叫做依赖注入 注入的类型 基本类型和Sring、 bean类型、集合类型 注入的方法 构造函数、set、注解     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring5-XML配置IOC

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial XML配置IOC使用默认构造函数创建Bean 在spring的配置文件中使用Bean标签, 只配置id个class属性 12345<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myclass" class="com.wsx.spring.Myclass"></bean></beans>     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring4-创建IOC容器

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 创建IOC容器ApplicationContest 单例对象适用 ClassPathXmlApplicationContext 可以加载类路径下的配置文件,要求配置文件在类路径下 FileSystemXmlApplicationContext 可以加载任意路径下的配置文件(要有访问权限) AnnotationConfigApplicationContext 读取注解创建容器 ApplicationContest什么时候创建对象 当加载配置文件的时候就创建了对象     阅读全文
fightinggg's avatar
fightinggg 4月 06, 2020

spring3-耦合

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial 耦合 我们考虑一个web应用,使用三层架构: 视图层+业务层+持久层, 视图层依赖业务层,业务层依赖持久层,这是非常不好的现象,当我们的持久层需要改变的时候,整个项目都要改变,项目非常不稳定。 怎么解决 工厂!     阅读全文
fightinggg's avatar
fightinggg 4月 02, 2020

Maven

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial maven依赖管理 maven工程可以帮助我们管理jar包的依赖,他有一个jar包仓库,这导致我们自己的项目会非常小。 maven启动1mvn tomcat:run maven仓库启动 先本地,然后私服,然后中央仓库 Java代码 核心代码+配置文件+测试代码+测试配置文件 传统项目123workspace src config     阅读全文
fightinggg's avatar
fightinggg 4月 02, 2020

Java基础

nexthexonextbutterflyvolantisyearnyiliashokaindigoapollolandscapecactusmateryicarusfluidmaterial Automic是一个原子类型包,其中包含了AtomicBoolean,AtomicInteger,AtomicLong等, 原子操作说是这样说的,然而并不是所有的物理机器都支持原子指令,所以不能保证不被阻塞,一般而言,采用的CAS+volatile+native的方法,避免synchronized的使用,如果不支持CAS那就上自旋锁了     阅读全文
fightinggg's avatar
fightinggg 3月 31, 2020