阿里网站建设需要准备什么,甘肃兰州市,平面广告设计赏析,网站建设需要具备什么条件愤怒的Spring#xff08;三#xff09;
一、目录结构
环境搭配与上一篇内容一样#xff0c;详情请看愤怒的Spring#xff08;二#xff09;Idaea Maven搭建Spring并运行项目#xff08;超详细#xff0c;超全#xff09;https://blog.csdn.net/sz710211849/article/d…愤怒的Spring三
一、目录结构
环境搭配与上一篇内容一样详情请看愤怒的Spring二Idaea Maven搭建Spring并运行项目超详细超全https://blog.csdn.net/sz710211849/article/details/129715765
二、代码与结果展示
BookDao
package com.cc;public interface BookDao {public void save();
}BookDaoImpl
package com.cc;public class BookDaoImpl implements BookDao {public BookDaoImpl() {System.out.println(book dao constructor is running ....);}public void save() {System.out.println(book dao save ...);}}OrderDao
package com.cc;public interface OrderDao {public void save();
}OrderDaoImpl
package com.cc;public class OrderDaoImpl implements OrderDao {public void save() {System.out.println(order dao save ...);}
}UserDao
package com.cc;public interface UserDao {public void save();
}UserDaoImpl
package com.cc;public class UserDaoImpl implements UserDao {public void save() {System.out.println(user dao save ...);}
}OrderDaoFactory
package com.cc;//静态工厂创建对象
public class OrderDaoFactory {public static OrderDao getOrderDao(){System.out.println(factory setup....);return new OrderDaoImpl();}
}UserDaoFactory
package com.cc;//实例工厂创建对象
public class UserDaoFactory {public UserDao getUserDao(){return new UserDaoImpl();}
}UserDaoFactoryBean
package com.cc;import org.springframework.beans.factory.FactoryBean;
//FactoryBean创建对象
public class UserDaoFactoryBean implements FactoryBeanUserDao {//代替原始实例工厂中创建对象的方法public UserDao getObject() throws Exception {return new UserDaoImpl();}public Class? getObjectType() {return UserDao.class;}}AppForInstanceBook
package com.cc;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class AppForInstanceBook {public static void main(String[] args) {ApplicationContext ctx new ClassPathXmlApplicationContext(spring.xml);BookDao bookDao (BookDao) ctx.getBean(bookDao);bookDao.save();}
}每运行一个APP内容其余的bean需要注释掉只留下本APP需要的bean
AppForInstanceOrder
package com.cc;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class AppForInstanceOrder {public static void main(String[] args) {//通过静态工厂创建对象
// OrderDao orderDao OrderDaoFactory.getOrderDao();
// orderDao.save();ApplicationContext ctx new ClassPathXmlApplicationContext(spring.xml);OrderDao orderDao (OrderDao) ctx.getBean(orderDao);orderDao.save();}
}AppForInstanceUser
package com.cc;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class AppForInstanceUser {public static void main(String[] args) {
// //创建实例工厂对象
// UserDaoFactory userDaoFactory new UserDaoFactory();
// //通过实例工厂对象创建对象
// UserDao userDao userDaoFactory.getUserDao();
// userDao.save();ApplicationContext ctx new ClassPathXmlApplicationContext(spring.xml);UserDao userDao1 (UserDao) ctx.getBean(userDao);UserDao userDao2 (UserDao) ctx.getBean(userDao);System.out.println(userDao1);System.out.println(userDao2);
// userDao.save();}
}spring.xml
每运行一个APP内容其余的bean需要注释掉只留下本APP需要的bean
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--方式一构造方法实例化bean--!-- bean idbookDao classcom.cc.BookDaoImpl/--!--方式二使用静态工厂实例化bean--!-- bean idorderDao classcom.cc.OrderDaoFactory factory-methodgetOrderDao/--!--方式三使用实例工厂实例化bean--!-- bean iduserFactory classcom.cc.UserDaoFactory/bean iduserDao factory-methodgetUserDao factory-beanuserFactory/--!--方式四使用FactoryBean实例化bean--bean iduserDao classcom.cc.UserDaoFactoryBean//beanspom.xml
?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.itheima/groupIdartifactIdspring_01_quickstart/artifactIdversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion6.0.6/version/dependency/dependenciesbuilddefaultGoalcompile/defaultGoal/build/project