首页
留言
Search
1
在Centos7下搭建Socks5代理服务器
1,036 阅读
2
在windows11通过Zip安装Mysql5.7
574 阅读
3
Mysql5.7开放远程登录
482 阅读
4
数据库
469 阅读
5
mysql5.7基本命令
377 阅读
综合
正则表达式
git
系统
centos7
ubuntu
kali
Debian
网络
socks5
wireguard
运维
docker
hadoop
kubernetes
hive
openstack
ElasticSearch
ansible
前端
三剑客
Python
Python3
selenium
Flask
PHP
PHP基础
ThinkPHP
游戏
我的世界
算法
递归
排序
查找
软件
ide
Xshell
vim
PicGo
Typora
云盘
安全
靶场
reverse
Java
JavaSE
Spring
MyBatis
C++
QT
数据库
mysql
登录
Search
标签搜索
java
centos7
linux
centos
html5
JavaScript
php
css3
mysql
spring
mysql5.7
linux全栈
ubuntu
BeanFactory
SpringBean
python
python3
ApplicationContext
kali
mysql8.0
我亏一点
累计撰写
139
篇文章
累计收到
8
条评论
首页
栏目
综合
正则表达式
git
系统
centos7
ubuntu
kali
Debian
网络
socks5
wireguard
运维
docker
hadoop
kubernetes
hive
openstack
ElasticSearch
ansible
前端
三剑客
Python
Python3
selenium
Flask
PHP
PHP基础
ThinkPHP
游戏
我的世界
算法
递归
排序
查找
软件
ide
Xshell
vim
PicGo
Typora
云盘
安全
靶场
reverse
Java
JavaSE
Spring
MyBatis
C++
QT
数据库
mysql
页面
留言
搜索到
14
篇与
Spring
的结果
2023-02-22
Java BeanFactory与ApplicationContext的关系与继承体系
BeanFactory与ApplicationContext的关系BeanFactory是Spring的早期接口,成为Spring的Bean工厂,ApplicationContext是后期更高级接口,称之为Spring容器;ApplicationContext在BeanFactory基础上对功能进行了扩展,例如:监听功能、国际化功能等。BeanFactory的API更偏向于底层,ApplicationContext的API大多数是对这些底层API的封装Bean创建的主要逻辑和功能都被封装在BeanFactory中,ApplicationContext不仅继承了BeanFactory,而且ApplicationContext内部还维护着BeanFactory的引用,所以ApplicationContext与BeanFactory既有继承关系,又有融合关系Bean的初始化时机不同,原始BeanFactory是在首次调用getBean时才进行Bean的创建,而ApplicationContext则是配置文件加载,容器一创建就将Bean都实例化初始化好BeanFactorypublic static void main(String[] args) { // 创建工厂对象 DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); // 创建一个读取器(xml文件) XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); // 读取配置文件给工厂 reader.loadBeanDefinitions("beans.xml"); // 根据id获取bean实例对象,Bean在此时创建对象 UserService userService = (UserService) beanFactory.getBean("userService"); System.out.println(userService); }ApplicationContextpublic static void main(String[] args) { // 读取配置文件的时候便已经实例化初始化完成 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService userService = (UserService) applicationContext.getBean("userService"); System.out.println(userService); }BeanFactory与ApplicationContext的继承体系BeanFactor的继承体系BeanFactory是核心接口,项目运行过程中肯定有具体实现参与,这个具体实现就是DefaultListtableBeanFactory,而ApplicationContext内部维护的BeanFactory的实现类也是它ApplicationContext的继承体系只在Spring基础环境下,即只导入spring-context坐标时,此时ApplicationContext的继承体系 只在Spring基础环境下,常用的三个ApplicationContext作用如下:
2023年02月22日
103 阅读
0 评论
0 点赞
2023-02-22
Java ApplicationContext
Java ApplicationContext快速入门ApplicationContext成为Spring容器,内部封装了BeanFactory,笔BeanFactory功能更丰富更强大,使用ApplicationContext进行开发式,xml配置文件的名称习惯写成applicationContent.xml1.使用ApplicationContext调用BeanFactory基础配置可看上一篇文章 点我跳转public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService userService = (UserService) applicationContext.getBean("userService"); System.out.println(userService); }运行结果:BeanFactory去调用该方法 从容器中获得userDao设置到此处org.example.UserDaoImpl@1e730495 org.example.UserServiceImpl@318ba8c8
2023年02月22日
117 阅读
0 评论
0 点赞
2023-02-22
Java BeanFactory
Java BeanFactory快速入门Ioc思想实现1.创建普通的Maven项目2.在pom.xml文件中的project标签内导入Spring的jar包<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ...... <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.7</version> </dependency> </dependencies> </project>3.创建UserService接口4.创建UserServiceImpl类,并且继承UserService接口5.在resources中创建beans.xml文件,并且配置bean <?xml version="1.0" encoding="UTF-8"?> <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="userService" class="org.example.UserServiceImpl"></bean> </beans>6.主函数运行 public static void main(String[] args) { // 创建工厂对象 DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); // 创建一个读取器(xml文件) XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); // 读取配置文件给工厂 reader.loadBeanDefinitions("beans.xml"); // 根据id获取bean实例对象 UserService userService = (UserService) beanFactory.getBean("userService"); System.out.println(userService); }DI思想实现,依赖注入1.创建UserDao接口和UserDaoIpml类,类继承UserDao接口2.在UserServiceImpl类中新建一个set方法,用于接受设置注入的对象 public class UserServiceImpl implements UserService{ // BeanFactory去调用该方法 从容器中获得userDao设置到此处 public void setUserDao(UserDao userDao){ System.out.println("BeanFactory去调用该方法 从容器中获得userDao设置到此处" + userDao); } }3.配置beans.xml文件,在bean标签中添加property标签实现依赖注入 <?xml version="1.0" encoding="UTF-8"?> <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="userService" class="org.example.UserServiceImpl"> <property name="userDao" ref="userDao"></property> </bean> <bean id="userDao" class="org.example.UserDaoImpl"></bean> </beans>4.主函数调用,完成依赖注入 // 创建工厂对象 DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); // 创建一个读取器(xml文件) XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); // 读取配置文件给工厂 reader.loadBeanDefinitions("beans.xml"); // 根据id获取bean实例对象 UserService userService = (UserService) beanFactory.getBean("userService"); System.out.println(userService);BeanFactory去调用该方法 从容器中获得userDao设置到此处org.example.UserDaoImpl@49c43f4e org.example.UserServiceImpl@290dbf45
2023年02月22日
129 阅读
0 评论
0 点赞
2023-02-21
Java IoC、DI和AOP思想提出
Java IoC、DI和AOP思想提出IoC思想Inversion of Control,控制反转,强调的是原来在程序中创建Bean的权利反转给第三方。DI思想Dependency Injection,依赖注入,强调的Bean之间关系,这种关系第三方去负责设置。AOP思想Aspect Oriented Programming,面向切面编程,功能的横向抽取(面向对象功能是纵向设计一个Bean,横向抽取要比面向对象功能高级),主要实现方式是Proxy。框架概念的出现框架的基本特点:框架(Framework),是基于基础技术之上,从众多业务中抽取出的通用解决方案;是一个半成品,使用规定的语法开发可以提高开发效率,使用简单的代码完成复杂的基础业务使用大量的设计模式、算法、底层代码操作技术,如反射、内省、xml解析、注解解析等;具备扩展性JAVA中常见的框架:基础框架:完成基本业务操作的框架:MyBatis、Spring、SpringMVC、Struts2、Hibernate等服务框架:特定领域的框架,一般可以对外提供服务框架,如MQ、ES、Nacos等
2023年02月21日
92 阅读
0 评论
0 点赞
1
2
3