国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

spring學習隨筆3

2019-11-08 20:14:27
字體:
來源:轉載
供稿:網友

本文內容包括

<!--1.Bean的生命周期-->

<!--2.Bean的后置處理器-->

<!--3.靜態工廠方法配置bean-->

<!--4.實例工廠方法配置bean-->

<!--5.通過factorybean配置bean-->

<!--6.自動掃描配置bean-->

 

配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://www.sPRingframework.org/schema/beans"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:tx="http://www.springframework.org/schema/tx"    xmlns:aop="http://www.springframework.org/schema/aop"	xmlns:util="http://www.springframework.org/schema/util"	xmlns:p="http://www.springframework.org/schema/p"     xsi:schemaLocation="    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd      http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">        <!--1.Bean的生命周期-->	<bean id="person" class="com.liu.lesson3.Person" p:name="liu" init-method="init" destroy-method="destroy"></bean>	<!--2.Bean的后置處理器-->	<bean class="com.liu.lesson3.MyProcessor"></bean>	<!--3.靜態工廠方法配置bean-->	<bean id="person2" class="com.liu.lesson3.StaticPersonFactory" factory-method="getPerson">		<constructor-arg value="liu"></constructor-arg>	</bean>	<!--4.實例工廠方法配置bean-->	<bean id="factory" class="com.liu.lesson3.InstancePersonFactory"></bean>	<bean id="person3" factory-bean="factory" factory-method="getPerson">		<constructor-arg value="liu2"></constructor-arg>	</bean>	<!--5.通過factorybean配置bean-->	<bean id="person4" class="com.liu.lesson3.MyFactoryBean">	</bean>	<!--6.自動掃描配置bean-->	<context:component-scan base-package="com.liu.lesson3" /> </beans>

InstancePersonFactory

package com.liu.lesson3;import java.util.HashMap;public class InstancePersonFactory {	private HashMap<String,Person> persons = new HashMap<String,Person>();		public InstancePersonFactory(){		persons.put("liu2", new Person("liu2"));		persons.put("zhang2", new Person("zhang2"));	}		public Person getPerson(String name){		return persons.get(name);	}}

MyFactoryBean

package com.liu.lesson3;import org.springframework.beans.factory.FactoryBean;public class MyFactoryBean implements FactoryBean<Person2> {	@Override	public Person2 getObject() throws Exception {		// TODO Auto-generated method stub		return new Person2("test");	}	@Override	public Class<?> getObjectType() {		// TODO Auto-generated method stub		return Person2.class;	}	@Override	public boolean isSingleton() {		// TODO Auto-generated method stub		return true;	}}

MyProcessor

package com.liu.lesson3;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;public class MyProcessor implements BeanPostProcessor {	@Override	public Object postProcessAfterInitialization(Object arg0, String arg1) throws BeansException {		// TODO Auto-generated method stub		if("person3".equals(arg1)){			System.out.println("postProcessAfterInitialization:"+arg0+","+arg1);		}				return arg0;	}	@Override	public Object postProcessBeforeInitialization(Object arg0, String arg1) throws BeansException {		// TODO Auto-generated method stub		if("person3".equals(arg1)){			System.out.println("postProcessAfterInitialization:"+arg0+","+arg1);		}		return arg0;	}}

 

Person

package com.liu.lesson3;public class Person {	private String name;		public Person() {		System.out.println("Constructor");	}		public Person(String name) {		this.name = name;	}		public void setName(String name) {		System.out.println("setName");		this.name = name;	}		public void init(){		System.out.println("init");	}		public void destroy(){		System.out.println("destroy");	}	@Override	public String toString() {		return "Person [name=" + name + "]";	}}

 

Person2

package com.liu.lesson3;public class Person2 {	private String name;		public Person2() {		System.out.println("Constructor");	}		public Person2(String name) {		this.name = name;	}		public void setName(String name) {		System.out.println("setName");		this.name = name;	}		public void init(){		System.out.println("init");	}		public void destroy(){		System.out.println("destroy");	}	@Override	public String toString() {		return "Person2 [name=" + name + "]";	}}

StaticPersonFactory

package com.liu.lesson3;import java.util.HashMap;public class StaticPersonFactory {	private static HashMap<String,Person> persons = new HashMap<String,Person>();		static{		persons.put("liu", new Person("liu"));		persons.put("zhang", new Person("zhang"));	}		public static Person getPerson(String name){		return persons.get(name);	}}

 

Test

package com.liu.lesson3;import org.springframework.context.applicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.liu.lesson3.controller.UserController;public class Test {	public static void main(String[] args) {		// TODO Auto-generated method stub		ApplicationContext cxt = new ClassPathXmlApplicationContext("Lesson3.xml");		Person person = (Person) cxt.getBean("person");				Person person2 = (Person) cxt.getBean("person2");				System.out.println("person2:"+person2);				Person person3 = (Person) cxt.getBean("person3");				System.out.println("person3:"+person3);				Person2 person4 = (Person2) cxt.getBean("person4");				System.out.println("person4:"+person4);				//Controller execute		UserController userController = (UserController)cxt.getBean("userController");		userController.execute();	}}

UserCompnent

package com.liu.lesson3.compnent;import org.springframework.stereotype.Component;@Componentpublic class UserCompnent {}

UserController

package com.liu.lesson3.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import com.liu.lesson3.service.IUserService;@Controllerpublic class UserController {		@Autowired	IUserService userService;		public void execute(){		System.out.println("execute");		userService.addUser();	}}

IUserDAO

package com.liu.lesson3.dao;public interface IUserDAO {	public void add();}

UserDAO

package com.liu.lesson3.dao;import org.springframework.stereotype.Repository;@Repositorypublic class UserDAO implements IUserDAO {	@Override	public void add() {		System.out.println("add");			}}

IUserService

package com.liu.lesson3.service;public interface IUserService {	public void addUser();}

UserService

package com.liu.lesson3.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.liu.lesson3.dao.IUserDAO;@Servicepublic class UserService implements IUserService {	@Autowired	private IUserDAO userDAO;		@Override	public void addUser() {		// TODO Auto-generated method stub		System.out.println("addUser");		userDAO.add();	}}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昭平县| 饶阳县| 十堰市| 兰坪| 浮梁县| 雷波县| 修水县| 河源市| 湾仔区| 新绛县| 崇州市| 宜春市| 绥宁县| 南漳县| 庆云县| 鹿泉市| 府谷县| 鹤峰县| 隆化县| 江油市| 鄂伦春自治旗| 云梦县| 墨脱县| 繁昌县| 固始县| 随州市| 枝江市| 绥芬河市| 增城市| 宜兴市| 涿州市| 紫云| 大理市| 思南县| 团风县| 北川| 巴林右旗| 公安县| 庆云县| 鹤壁市| 宜宾县|