spring05
通过静态工厂的方法创建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 ,注意不是配置静态工厂的实例,而是配置bean的实例 -->
- <!-- class 属性:指向的是静态工厂方法的全类名
- factory-method :指向的是静态工厂方法的名字
- constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数 -->
- <bean id="car" class="lib2.Car"
- factory-method="gerCae">
- <constructor-arg value="audi"></constructor-arg></bean>
- <!-- 配置工厂的实例 -->
- <bean id="casec" class="instance"></bean>
- <!-- 通过实例工厂方法来配置bean -->
- <!-- factory-bean: 属性:指向的是静态工厂方法的bean
- factory-method :指向的是静态工厂方法的名字
- constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数 -->
- <bean id="cae" factory-bean="cad" factory-method="cac">
- <constructor-arg value="asca"></constructor-arg></bean>
- </beans>
factory来配置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">
- <!--
- 通过factorybean来配置bean的实例
- class:只想factorybean的全类名
- property:配置的事factorybean的属性(可能是里面的复制函数set) -->
- <bean id="Car" class="factorybean">
- <property name="brand" value="bwm"></property></bean>
- </beans>
基于注解来配置bean和bean的线相关的属性。
组件扫描:spring能够从classpath夏自动扫描、侦测和实例化具有特定注释的组件;
- package test1;
- import org.springframework.stereotype.Component;
- @Component
- public class TestObject {
- }
- package test2;
- import org.springframework.stereotype.Repository;
- @Repository
- public class UserReposityImpl implements UserRepository {
- @Override
- public void save() {
- // TODO Auto-generated method stub
- System.out.println("UserRepository save....");
- }
- }package test3;
- import org.springframework.stereotype.Service;
- @Service
- public class UserService {
- public void add()
- {
- System.out.println("UserSerivce add..");
- }
- }
- package test4;
- import org.springframework.stereotype.Controller;
- @Controller
- public class UserController {
- public void execute()
- {
- System.out.println("UserController execute..");
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <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"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
- <!-- 指定spring ioc容器扫描的包 -->
- <context:component-scan base-package="test1.TestObject"></context:component-scan>
- </beans>
- package test1;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import test2.UserRepository;
- import test3.UserService;
- import test4.UserController;
- public class Main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- ApplicationContext ct=new ClassPathXmlApplicationContext("beans-053.xml");
- TestObject to=(TestObject) ct.getBean("testObject");
- UserController userController=(UserController) ct.getBean("userController");
- UserRepository userRepository=(UserRepository) ct.getBean("userRepository");
- UserService userService=(UserService) ct.getBean("userService");
- System.out.println(to);
- System.out.println(userController);
- System.out.println(userService);
- System.out.println(userRepository);
- }
- }
关于MyBeanPostProcessor的应用。
spring05的更多相关文章
- Spring-05 使用注解开发
Spring-05 使用注解开发 使用注解开发 1.项目准备 在spring4之后,想要使用注解形式,必须得要引入aop的包5 <!-- https://mvnrepository.com/ar ...
- spring05配置文件之间的关系
一:配置文件包含关系 1.创建对应的实体类 public class Student { //学生实体类 private String name; //姓名 private Integer age; ...
- Spring-05 -AOP [面向切面编程] -Schema-based 实现aop的步骤
一.AOP [知识点详解] AOP:中文名称面向切面编程 英文名称:(Aspect Oriented Programming) 正常程序执行流程都是纵向执行流程 3.1 又叫面向切面编程,在原有纵向执 ...
- Spring05——Spring 如何实现事务管理
在此之前,我们已经了解了 Spring 相关的基础知识,今天将为给位带来,有关 Spring 事务代理的相关知识.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识 ...
- 玩转spring boot——结合JPA入门
参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...
- Spring:AOP面向切面编程
AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果. AOP是软件开发思想阶段性的产物,我们比较熟悉面向过程O ...
- Spring实现Ioc的多种方式--控制反转、依赖注入、xml配置的方式实现IoC、对象作用域
Spring实现Ioc的多种方式 一.IoC基础 1.1.概念: 1.IoC 控制反转(Inversion of Control) IoC是一种设计思想. 2.DI 依赖注入 依赖注入是实现IoC的一 ...
- Spring4学习回顾之路10-Spring4.x新特性:泛型依赖注入
泛型依赖注入:Spring 4.x中可以为子类注入子类对应的泛型类型的成员变量的引用. 话语太过抽象,直接看代码案例,依次建立如下代码: User.java package com.lql.sprin ...
- 环绕通知(xml)
1.maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
随机推荐
- 2020 还不会泡 Github 你就落伍了
前言 回想起两年前缸接触 GitHub 那会儿,就发现网上完全搜不到一篇关于 github 使用的文章,虽然自己倒腾几下慢慢的也就上手了,但毕竟花费了不少时间. 时间对每个人都是宝贵的,一直很好奇 G ...
- gitbook 入门教程之超高颜值的思维导图simple-mind-map插件
欢迎访问 gitbook-plugin-simple-mind-map 官网
- [BUG]Uncaught TypeError: Illegal invocation at HTMLDivElement.
<div id="clickMe" key="1">点我</div> clickMe.onclick = function (event ...
- 工作了这么长时间,是不是非用macbook pro不可呢?
连续奋战了二十多天,肉眼可见自己的状态一天不如一天.总觉得自己是不是该放下一切好好休息两天,但是理智又告诉我不能停.不能停. 既然不能停,那就把之前攒下的文章写一写吧. 什么是macbook pro ...
- MySQL数据库02
MySQL数据库 前言: 前面我们了解了什么是数据库,什么是MySQL数据库以及如何运用,接下来我们接着深入学习MySQL. (提前声明,以下所提供的事例不标准,仅供参考) 数据库的备份与还原: 备份 ...
- [并查集+逆向思维]Codeforces Round 722C Destroying Array
Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- UVA129 Krypton Factor 困难的串 dfs回溯【DFS】
Krypton Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 计算智能(CI)之粒子群优化算法(PSO)(一)
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 计算智能(Computational Intelligence , ...
- 用卷积神经网络和自注意力机制实现QANet(问答网络)
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习.深度学习的知识! 在这篇文章中,我们将解决自然语言处理(具体是指问答)中最具挑战性 ...
- 仅用200个样本就能得到当前最佳结果:手写字符识别新模型TextCaps
由于深度学习近期取得的进展,手写字符识别任务对一些主流语言来说已然不是什么难题了.但是对于一些训练样本较少的非主流语言来说,这仍是一个挑战性问题.为此,本文提出新模型TextCaps,它每类仅用200 ...