扫一扫,加我们为好友有惊喜哦~
-->

核心课程
开班动态
专题服务

您当前所在位置:首页 > 中心动态 >>
spring从入门到精通:spring基础知识——常州电脑培训

 1、将对象new的过程和为属性赋值的过程,反转到配置文件中!

IEmpService:
public interface IEmpService {
 
public void getEmps();
}
 
 
EmpServiceImpl:
public class EmpServiceImpl implements IEmpService {
 
private int pageSize;
private String name;
private String pwd;
public void getEmps() {
       System.out.println("用户名:" + name + ",密码:" + pwd + ",每页:" + pageSize + "条!");
}
public static void main(String[] args) {
//利用ClassPathResource将配置文件读到资源中,利用XmlBeanFactory装载资源
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
//获取到EmpServiceImpl节点
IEmpService es = (IEmpService) factory.getBean("empService");
es.getEmps();
}
 
        //此处省略属性的getter、setter方法
 
}
 
applicationContext.xml:
   <!-- 将IEmpService的实现类的new的过程反转到了Spring的配置文件中 
        IEmpService es = new EmpServiceImpl();
        es.setPageSize = 10;
        es.setName = "root";
        es.setPwd = "123456";
   -->
   <bean id="empService" class="com.emp.service.EmpServiceImpl">
     <property name="pageSize" value="10"></property>
     <property name="name" value="root"></property>
     <property name="pwd" value="123456"></property>
   </bean>
 
2、Spring:基于IOC(控制反转)和AOP(面向切面编程)来构建多层J2EE系统的开源框架!
 
3、IOC:控制反转:当调用者需要被对象时(或为属性赋值时),由Spring的配置文件完成创建对象(或为属性赋值)的工作。(控制权由程序反转到了配置文件中)
 
DI:依赖注入:在程序中需要生成的对象或属性的值依赖于Spring的配置文件注入!
 
4、Spring例子:
public interface Animal {
 
public void fight();
}
 
 
public class Cat implements Animal {
 
public void fight() {
System.out.println("Cat fight...");
}
 
}
 
public class Dog implements Animal {
 
public void fight() {
System.out.println("Dog fight...");
}
 
}
 
 
public class TestAnimal {
 
Animal a;
public void testFight(){
a.fight();
}
public static void main(String[] args) {
//读取TestAnimal的配置节点
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
TestAnimal ta = (TestAnimal) factory.getBean("testAnimal");
ta.testFight();
}
 
        //此处省略getter、setter方法
}
 
applicationContext.xml:
   <!-- Dog节点 -->
   <bean id="dog" class="com.emp.service.Dog"></bean>
   
   <!-- Cat节点 -->
   <bean id="cat" class="com.emp.service.Cat"></bean>
   
   <!-- TestAnimal节点 -->
   <bean id="testAnimal" class="com.emp.service.TestAnimal">
     <property name="a" ref="dog"></property>
   </bean>
 
5、为带参数的构造器传递参数的值
public class UserService {
 
private String name;
private String pwd;
public UserService(String name,String pwd){
this.name = name;
this.pwd = pwd;
}
public void show(){
System.out.println(this.name + "  " + this.pwd);
}
public static void main(String[] args) {
  XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
  UserService us = (UserService) factory.getBean("userService");
  us.show();
}
}
 
applicationContext.xml:
   <!-- UserService节点
        UserService us = new UserService();
    -->
   <bean id="userService" class="com.emp.service.UserService">
     <constructor-arg index="0" value="张三"></constructor-arg>
     <constructor-arg index="1" value="123456"></constructor-arg>
   </bean>
 
6、读取配置文件生成容器类
A、通过XmlBeanFactory加载ClassPathResource
  XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
  UserService us = (UserService) factory.getBean("userService");
 
B、通过XmlBeanFactory加载FileSystemResource
XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("F:/abc.xml"));
  UserService us = (UserService) factory.getBean("userService");
 
C、通过ClassPathXmlApplicationContext读取
  ApplicationContext factory = new ClassPathXmlApplicationContext("applicationContext.xml");
  UserService us = (UserService) factory.getBean("userService");
 
7、整合spring和hibernate框架
A、添加spring框架
B、添加hibernate框架,使用spring的配置文件,勾上hibernate对spring支持的3个包
C、反转表格,生成orm文件和pojo类
D、写代码,使用HibernateTemplate类查找数据库数据
 
public class UserServiceImpl implements IUserService {
 
//数据库连接的基础类
    private SessionFactory sessionFactory;
public List getUsers() {
//Spring提供的Hibernate模板类
      HibernateTemplate ht = new HibernateTemplate(this.sessionFactory);
      List list = ht.find("from User");
return list;
}
 
        //此处省略getter、setter方法
public static void main(String[] args) {
IUserService us = (IUserService) new ClassPathXmlApplicationContext("applicationContext.xml").getBean("userService");
List users = us.getUsers();
for(int i = 0;i < users.size();i++){
User u = (User) users.get(i);
System.out.println(u.getId() + " " + u.getUsername() + " " + u.getCity());
}
}
 
}
 
applicationContext.xml:
    <!-- UserServiceImpl -->
    <bean id="userService" class="com.emp.service.UserServiceImpl">
      <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

精彩文章推荐
常州室内设计培训——现代风格家居设计案例[2012-8-16]
.net编程入门[2012-8-9]
RUBY的优势——常州电脑培训课程[2012-7-9]
对抗福布斯——软件工程课外读物[2012-7-1]
windows中常见的运行命令——常州软件培训[2012-6-28]
蛇形矩阵的求解——常州电脑培训[2012-6-20]
分清自己的目标客户群体---网络广告投放[2012-6-16]
常州电脑培训——什么是好的项目经理?[2012-6-12]


返回顶部