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 ...
随机推荐
- scrapy全栈抓xpc练习
# spider文件 # -*- coding: utf-8 -*- import scrapy import re from scrapy import Request import json im ...
- Polly每次重试执行不同的操作
Polly每次重试执行不同的操作 前言 最近在写WG(用的 .net core 3.1 + wpf + abp vnext),程序里大量用到了重试机制选用的是Polly组件(只知道这个...). ...
- centos-Linux静态IP地址配置
首先在VMware菜单中点击编辑-->虚拟网卡编辑器,查看NAT网段(子网掩码.网关.起止IP地址) 1.用nmcli命令配置IP地址 [root@Core ~]# nmcli connecti ...
- Anaconda3环境下安装OpenCV(cv2)
Anaconda3环境下安装OpenCV(cv2) 主要步骤 1 首先查看自己的Anaconda安装的python版本 2 下载相应的OpenCv.whl文件 3 使用cmd安装.whl文件 查看自己 ...
- 量化学习 | Tushare 基本面选股 (二)
量化投资比较重要的是策略,可是你得先选个好股,价值投资需要认同他的价值,值得投资的股票才有投资的机会,现在简单介绍一下基于基本面的选股,其实我现实生活中也有炒股,都是经验之说的选股原则. 首先从tus ...
- img标签src="[object Moudle]"问题解决办法
在写组件的时候,按照如下方式来写,加载不出图片: 打开开发者工具,发现img标签对应位置显示如下: 我之前已经下载过 url-loader 解决方法如下: 加入 esModules:false 即可
- 启动崩盘!IDEA 2020 无法启动的解决办法|赠送 IDEA 2020 新功能
今天早上看到 IDEA 可以升级新版本,想着体验一下新功能,点击升级,然后全部项目工程无法打开. 报错信息如下: Cannot execute command No project found to ...
- Druid连接池和springJDbc框架-Java(新手)
Druid连接池: Druid 由阿里提供 安装步骤: 导包 durid1.0.9 jar包 定义配置文件 properties文件 名字任意位置也任意 加载文件 获得数据库连接池对象 通过Durid ...
- 在Linux环境安装redis步骤,且设置开机自动启动redis
最近在linux环境安装了redis学习,目前已经安装成功且设置开机即启动状态,我把步骤流程记录了下来,分享给需要的小伙伴. 1.我在/usr/local/localsoftware/目录下创建了一个 ...
- search(3)- elastic4s-QueryDSL
elastic4s是elasticsearch一个第三方开发的scala语言终端工具库(Elastic4s is a concise, idiomatic, reactive, type safe S ...