Spring-01-ioc1

 

解釋都在註釋裏面~

目錄結構:

 

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring-study</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-01-ioc1</artifactId>

</project>

UserDao

package com.kuang.dao;

public interface UserDao {
    void getUser();
}

UserDaoImpl

package com.kuang.dao;

public class UserDaoImpl implements UserDao {

    public void getUser() {
        System.out.println("默認獲取用戶的數據");
    }
}

UserDaoMysql

package com.kuang.dao;

public class UserDaoMysql implements UserDao {
    public void getUser() {
        System.out.println("ncbacyuabs");
    }
}

UserService

package com.kuang.service;

public interface UserService {
    void getUser();
}

UserServiceImpl

package com.kuang.service;

import com.kuang.dao.UserDao;
import com.kuang.dao.UserDaoImpl;
import com.kuang.dao.UserDaoMysql;

public class UserServiceImpl implements UserService {
    private UserDao userDao;

    public UserDao getUserDao() {
        return userDao;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public void getUser() {
        userDao.getUser();
    }
}

beans.xml

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--使用Spring來創建對象,在Spring中這些都稱爲bean-->
    <bean id="UserDaoImpl" class="com.kuang.dao.UserDaoImpl"/>
    <bean id="UserDaoMysql" class="com.kuang.dao.UserDaoMysql"/>
    <bean id="UserServiceImpl" class="com.kuang.service.UserServiceImpl">
        <!--

        ref:引用Spring中創建好的對象
        value:具體的值,基本數據類型

        -->
        <property name="userDao" ref="UserDaoMysql"/>
    </bean>

</beans>

Mytest

import com.kuang.dao.UserDaoImpl;
import com.kuang.service.UserService;
import com.kuang.service.UserServiceImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {

    public static void main(String[] args) {
        //獲取ApplicationContext,拿到Spring容器
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        //容器在手,天下我有,需要什麼,直接get社麼!
        UserServiceImpl userServiceImpl = (UserServiceImpl) context.getBean("UserServiceImpl");
        userServiceImpl.getUser();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章