Spring——IOC(控制反转)
一、IOC容器1、什么是IOC(控制反转) a)把对象创建和对象之间的调用过程,交给Spring进行管理
b)使用IOC目的:为了降低耦合度
2、IOC底层 a)xml解析、工厂模式、反射
3、Spring提供的IOC容器实现的两种方式(两个接口) a)BeanFactory接口:IOC容器基本实现是Spring内部接口的使用接口,不提供给开发人员进行使用(加载配置文件时候不会创建对象,在获取对象时才会创建对象。)
b)ApplicationContext接口:BeanFactory接口的子接口,提供更多更强大的功能,提供给开发人员使用(加载配置文件时候就会把在配置文件对象进行创建)推荐使用!
4、ApplicationContext接口的实现类(具体根据API文档查看☺****)二、IOC容器-Bean管理1、IOC操作Bean管理 a)Bean管理就是两个操作:(1)Spring创建对象;(2)Spring注入属性
2、基于XML配置文件创建对象
3、基于XML方式注入属性(DI:依赖注入(注入属性))a)set方式注入//(1)传统方式: 创建类,定 ...
springboot 其一
SpringBoot笔记 其一开始第一个springboot项目1.创建Maven项目2.导入依赖1234567891011<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.4</version></parent><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>
3.编写一个主程序:启动springBooy应用 ...
Spring5框架新功能(通用日志、函数式表达式、webflux、响应式编程)
整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方法在代码库中删除了。
1、Spring 5.0 框架自带了通用的日志封装 (1)Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j2
(2)Spring5 框架整合 Log4j2
第一步 引入 jar 包
第二步 创建 log4j2.xml 配置文件
123456789101112131415161718192021<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--Configuration 后面的 status 用于设置 log4j2 自身内部的信息输出,可以不设置,当设置成 trace 时,可以看到 log4j2 内部各种详细输出--><c ...
Spring-AOP概念及使用
Spring-AOP1、AOP 基本概念 (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能
(3)使用登录例子说明 AOP
2、AOP(底层原理) a)AOP 底层使用动态代理 ,动态代理有两种情况:
第一种 有接口情况,使用 JDK 动态代理 ;创建接口实现类代理对象,增强类的方法
第二种 没有接口情况,使用 CGLIB 动态代理;创建子类的代理对象,增强类的方法
3、AOP(JDK 动态代理) 1)使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象
调用 newProxyInstance 方法,方法有三个参数:
123public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, ...
Spring IOC容器-Bean管理——基于XML方式(续集)
Spring IOC容器-Bean管理——基于XML(续集)1、IOC 操作 Bean 管理(FactoryBean)
1、Spring 有两种类型 bean,一种普通 bean,另外一种工厂 bean(FactoryBean)
2、普通 bean:在配置文件中定义 bean 类型就是返回类型
3、工厂 bean:在配置文件定义 bean 类型可以和返回类型不一样 第一步 创建类,让这个类作为工厂 bean,实现接口 FactoryBean 第二步 实现接口里面的方法,在实现的方法中定义返回的 bean 类型
12345678910111213141516171819202122public class MyBean implements FactoryBean<Course> { //定义返回bean @Override public Course getObject() throws Exception { Course course = new Course(); course.setCname ...
Redis笔记
Redis安装(Linux):1.获取redis资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2.解压
tar xzvf redis-4.0.8.tar.gz
3.安装
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
4.移动配置文件到安装目录下
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动
vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
6.将redis加入到开机启动
vi / ...
OpenGL的配置
*OpenGL开发环境配置:使用**VS2019**开发环境,完成OpenG**L**开发所需函数库和头文件的配置**:***
1.从学习通下载一下OpenGL开发库,将文件分类放置到指定文件夹(以我自己的为主,其实就是vs下对应目录,自己找找吧~)
找到目录E:\vs\myvs\VC\Tools\MSVC\14.29.30133\include
将一系列.h放到里面。
找到目录
E:\vs\myvs\VC\Tools\MSVC\14.29.30133\lib\x86
将一系列.lib文件放到里面。
找到目录
C:\Windows\SysWOW64
将 一系列.dll文件 放到里面。
\3. 创建一个控制台应用
删除.cpp文件里的原内容,输入一段测试代码
按照下图所示配置项目属性:
Maven教程笔记(来自菜鸟教程)
Maven 功能Maven 能够帮助开发者完成以下工作:
构建
文档生成
报告
依赖
SCMs
发布
分发
邮件列表
约定配置Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
目录
目的
${basedir}
存放pom.xml和所有的子目录
${basedir}/src/main/java
项目的java源代码
${basedir}/src/main/resources
项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java
项目的测试类,比如说Junit代码
${basedir}/src/test/resources
测试用的资源
${basedir}/src/main/webapp/WEB-INF
web应用文件目录,web项目的信息,比如存放web. ...
spring IOC容器 Bean 管理——基于注解方式
IOC 操作 Bean 管理(基于注解方式) 1、什么是注解
(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…)
(2)使用注解,注解作用在类上面,方法上面,属性上面
(3)使用注解目的:简化 xml 配置
2、Spring 针对 Bean 管理中创建对象提供注解
下面四个注解功能是一样的,都可以用来创建 bean 实例
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository
3、基于注解方式实现对象创建
第一步 引入依赖 (引入spring-aop jar包)
第二步 开启组件扫描
12345<!--开启组件扫描 1 如果扫描多个包,多个包使用逗号隔开 2 扫描包上层目录--><context:component-scan base-package="com.atguigu"></context:component-scan>
第三步 创建类,在类上面添加创建对象注解
123456789//在 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment














