1. 程式人生 > >java配置的方式

java配置的方式

專案結構

UserDAO.java

package com.fengqing.aaiconfigfile.dao;

public class UserDAO {
    public void save(String username, String password){
        System.out.println("username:" + username);
        System.out.println("password:" + password);
    }
}

UserService.java

package com.fengqing.aaiconfigfile.service;

import com.fengqing.aaiconfigfile.dao.UserDAO;

public class UserService {
    private UserDAO userDAO;

    public void setUserDAO(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    public void addUser(String username, String password){
        this.userDAO.save(username, password);
    }

}
 

JavaConfig.java

package com.fengqing.aaiconfigfile.config;

import com.fengqing.aaiconfigfile.dao.UserDAO;
import com.fengqing.aaiconfigfile.service.UserService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JavaConfig {

    @Bean
    public UserDAO userDAO(){
        UserDAO userDAO = new UserDAO();
        return userDAO;
    }

    @Bean
    public UserService userService() {
        UserService userService = new UserService();
        userService.setUserDAO(userDAO());
        return userService;
    }
}
AaiconfigfileApplicationTests.java
package com.fengqing.aaiconfigfile;

import com.fengqing.aaiconfigfile.config.JavaConfig;
import com.fengqing.aaiconfigfile.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class AaiconfigfileApplicationTests {

	@Test
	public void contextLoads() {
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
        UserService userService = (UserService)context.getBean("userService");
        userService.addUser("username", "password");
	}

}