舒大少博客

一个95后少年的个人博客

当前时间为:
欢迎大家来到舒大少博客https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java框架教程之spring代理模式

2020-12-24 17:00:31
swq1822677238

2020java框架教程之spring代理模式

概念:

将核心功能与辅助功能(事务、日志、性能监控代码)分离,达到核心业务功能更纯粹、辅助业务功能可复用。

静态代理设计模式 (更多…)

Maven创建webapp骨架无法使用@WebServlet来实现注解配置解决方案

2020-12-20 09:59:17
swq1822677238

Maven创建webapp骨架无法使用@WebServlet来实现注解配置解决方案

利用maven创建web项目,默认不支持@WebServlet注解配置,甚至不支持El表达式(在web 3.0版本之后才支持),所以在写servlet 时想使用@WebServlet进行url-pattern配置是不能够完成的。

解决方案:

1.改变web.xml文件头来更改web工程版本

在本地仓库找到org\apache\maven\archetypes\maven-archetype-webapp\1.4
(更多…)

2020java框架教程之spring的bean作用域

2020-12-10 15:24:52
swq1822677238

2020java框架教程之spring的bean作用域

Scope作用域

单例 singleton:

在整个应用程序中,只创建bean的一个实例

原型 prototype:

每次注入或通过spring上下文获取的时候,都会创建一个新的bean实例

会话 session:

在web应用程序中,为每个会话创建一个bean实例

请求request:

在web应用程序中,为每个请求创建一个bean实例

单例和多例

(更多…)

2020javaweb框架教程:spring的依赖注入

2020-12-10 14:17:40
swq1822677238

2020javaweb框架教程:spring的set依赖注入

set方式注入

value表示值类型的注入,ref表示对象类型的注入

创建两个对象,Users和Car

public class Users {
    private int id;
    private String name;
    private double salary;
    private Car car;
}
public class Car {
    private String name;
    private String color;
}

配置文件:
(更多…)

2020java框架教程之配置bean对象

2020-12-09 16:09:46
swq1822677238

2020java框架教程之配置bean对象

通过JavaConfig配置Bean对象

private UsersDao ud;
@Bean//通过JavaConfig配置Bean对象
public UsersDao getUsersDao(){
    System.out.println("创建UsersDao对象");
   return new UsersDaoImpl();
}

通过构造方法配置Bean对象

//通过构造方法创建
public UsersServiceImpl() {}
public UsersServiceImpl(UsersDao ud) {
    this.ud = ud;
}

(更多…)

2020java框架教程之spring第二章总结

2020-12-09 14:25:59
swq1822677238

2020java框架教程之spring第二章总结

定义配置:

@Configuration
@ComponentScan(注解扫描)

定义组件:

@Component
@Autowired(自动装配)
@Autowired(required=false)

自动装配歧义性

@Primary
@Qualifier
@Resource

分层架构中定义组件

(更多…)

2020java框架教程之spring通过XML启用组件扫描

2020-12-09 11:49:06
swq1822677238

2020java框架教程之spring通过XML启用组件扫描

applicationContext.xml

<!-- 配置组件扫描  -->
<!-- base-package : 包路径  -->
<context:component-scan base-package="demo"/>

AppConfig.java

@Configuration
//引入配置文件
@ContextConfiguration("classpath:applicationContext.xml")
public class AppConfig {
}

Test.java
(更多…)

2020java框架教程之spring注解扫描设置基础包

2020-12-09 11:23:21
swq1822677238

2020java框架教程之spring注解扫描设置基础包

//设置扫描组件的基础包
//@ComponentScan("包名")
//@ComponentScan(basePackages = {"包名","包名1"})
//@ComponentScan(basePackages = {"包名","包名1"})
//@ComponentScan(basePackageClasses = {类名.class,类名1.class})

2020java框架教程之spring的自动装配的歧义性

2020-12-09 09:46:58
swq1822677238

2020java框架教程之spring的自动装配的歧义性

两个类都实现了同一个接口,那么自动装配就会受到冲突,解决方案如下:

1.首选bean
在声明类的时候使用@Primary,只能定义一个注解

2.使用限定符

在声明的时候和装配的时候分别使用@Qualifier (更多…)

2020java框架教程之spring使用接口

2020-12-09 09:02:28
swq1822677238

2020java框架教程之spring使用接口

1.创建web项目
2.导入jar包以及日志文件
3.创建接口与实现类

//接口
public interface UsersService {
    void add();
}
@Component
//@Component 要写在实现类上,应用程序启动的时候
//就会自动扫描实现类,来将这个类的对象创建在spring的容器当中
public class UsersServiceImpl implements UsersService {
    @Override
    public void add() {
        System.out.println("添加用户");
    }
}

(更多…)

2020java框架教程之spring整合Junit4单元测试

2020-12-08 16:17:40
swq1822677238

2020java框架教程之spring整合Junit4单元测试

1.创建web项目
2.导入jar包

3.创建类对象
4.创建test包以及test类
5.引入spring单元测试类
6.加载配置类
(更多…)

2020Java框架教程之spring自动装配

2020-12-08 15:05:54
swq1822677238

2020Java框架教程之spring自动装配

装配bean的三种方式

1.隐式的bean发现机制和自动装配
2.在java中进行显示的配置
3.在XML中进行显示的配置

创建一个CD类

@Component
public class CompactDisc {
    public CompactDisc(){
        System.out.println("CompactDisc无参构造函数");
    }
    public void play(){
        System.out.println("正在播放音乐.....");
    }
}

创建一个CD播放类

(更多…)

2020java框架教程之spring概述以及入门helloworld

2020-12-08 11:37:02
swq1822677238

2020java框架教程之spring概述以及入门helloworld

什么是spring?

Spring是一个非常活跃的开源框架,由Rod Johnson开发,帮助分离项目组件之间的依赖关系,它的主要目的是简化企业开发

核心概念

IOC:Inversion Of Control控制反转

DI:Dependency Injection 依赖注入

AOP:Aspect Oriented Programming 面向切面编程

Spring的组成

(更多…)

2020java框架教程:springAOP的注解方式开发

2020-12-06 11:02:32
swq1822677238

2020java框架教程:springAOP的注解方式开发

1.创建web项目

2.引入jar包:

aopalliance.jar、aspectjweaver.jar

3.日志

log4j.properties

4.准备目标对象

先创建类的接口,然后创建类的实现类

5.编写通知

前置通知:在目标方法之前调用
后置通知(如果出现异常就不调用):在目标方法之后调用
后置通知:(无论是否出现异常都会调用):在目标方法之后调用
环绕通知:在目标方法之前、后调用
异常通知:出现异常则调用
(更多…)

2020java框架教程:spring的aop编程

2020-12-06 10:23:44
swq1822677238

2020java框架教程:spring的aop编程

1.创建web项目

2.引入jar包:

aopalliance.jar、aspectjweaver.jar

3.日志

log4j.properties

4.准备目标对象

先创建类的接口,然后创建类的实现类

5.编写通知

前置通知:在目标方法之前调用
后置通知(如果出现异常就不调用):在目标方法之后调用
后置通知:(无论是否出现异常都会调用):在目标方法之后调用
环绕通知:在目标方法之前、后调用
异常通知:出现异常则调用
(更多…)

2020java框架教程:spring的aop相关概念

2020-12-05 16:25:09
swq1822677238

2020java框架教程:spring的aop相关概念

1.AOP思想:横向重复,纵向抽取

2.底层实现:

Spring的AOP的底层用到两种代理机制:

JDK的动态代理:针对实现了接口的类产生代理。
Cglib 的动态代理:针对没有实现接口的类产生代理,应用的是底层的字节码增强的技术生成当前类的子类对象。

3.AOP的开发中相关术语:
(更多…)

2020javaweb框架教程之spring的IOC与DI以及注入

2020-11-29 13:59:06
swq1822677238

2020javaweb框架教程之spring的IOC与DI以及注入

IOC

Inverse Of Controll:控制反转

反转了依赖关系的满⾜⽅式,由之前的⾃⼰创建依赖对象,变为由⼯⼚推送。(变主动为被动,即反转)。
解决了具有依赖关系的组件之间的强耦合,使得项⽬形态更加稳健

DI

Dependency Injection :依赖注⼊

全新的依赖满⾜⽅式,体现在编码中就是全新的赋值⽅式 ==> 在⼯⼚中为属性推送值

如: <property name=”userDAO” ref=”userDAO”></property>

IOC与DI

在spring中关于IOC和DI的描述是这样的: IOC(DI) ,即,是⼀码事
IOC 是思想 :指导我们在满⾜依赖时,应该有反转的设计。
DI 是⼿段 :实际操作时,就是在⼀次次的 注⼊
(更多…)