봄 항목의 절차

봄은 무엇인가?

 스프링 JavaSE / EE 전체 스택 정지 경량 오픈 소스 프레임 워크 IOC의 코어와 AOP (Aspect 지향적 프로그래밍 aspect 지향 프로그래밍), 실질적으로 완료 전에 자바빈의 사용 (역 제어 반전 제어) 적층 단지 EJB 작업을 수행 할 수는 EJB가 비 대한 비효율적 인 개발 모델을 교체합니다.

  일반적으로 3 계층 서버 아키텍처, 즉 프리젠 테이션 계층 (웹), 비즈니스 로직 계층 (서비스), 지속성 (DAO)의 실제 개발에서는, 각 층의 봄은 기술 지원을 제공합니다.

 

 

스프링 1. 기본 패키지 및 lib 디렉토리에 JAR 디렉토리의 네 평민 로깅

2. SRC 디렉토리는 com.itheima.ioc 패키지를 만들고, 패키지의 인터페이스 UserDao를 생성 한 다음 말 () 인터페이스 메서드를 정의합니다.

package com.itheima.ioc;

public interface UserDao {
      public void say();
}

클래스를 생성 com.itheima.ioc 패키지 3. 그 UserDaoImpl UserDao, 인터페이스 클래스 말 () 메소드를 구현하고, 방법 출력 문을 작성해야 인터페이스를 구현합니다.

package com.itheima.ioc;

public class UserDaoImpl implements UserDao {

	public void say() {
		// TODO Auto-generated method stub
		System.out.println("UserDao say hello world!");

	}

}

4. src 디렉토리에서 Spring 설정 파일 applicationContext.xml을 작성하고 콩의 userDao에 대한 구성 파일에 ID를 만들 수 있습니다.

 <?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 
                    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"> 
             <bean id="userDao" class="com.itheima.ioc.UserDaoImpl" />
       </beans>

com.itheima.ioc 패키지 5. 테스트 클래스 TestIoC를 생성하고, 클래스의 main () 메소드를 작성한다. main () 메소드에서는 스프링 컨테이너를 초기화하고 구성 파일을로드 한 후 스프링 컨테이너, 말 () 메서드 인스턴스 마지막 호출에 의해 (즉, 자바 객체) userDao 인스턴스를 얻을 필요가있다.

package com.itheima.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestloC {
	public static void main(String[]args) {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");
		userDao.say();
	}

}

결과 :

II : 의존성 주입

 1. com.itheima.ioc 패키지 인터페이스 UserService, 기록 말 () 인터페이스 메소드를 생성한다.

package com.itheima.ioc;

public interface UserService {
	public void say();
            
}

2. com.itheima.ioc 패키지 구현 UserServiceImpl UserService의 클래스 선언 userDao 속성의 인터페이스와는 setter 메소드 속성을 추가하는 클래스를 만듭니다.

package com.itheima.ioc;

public class UserServicelmpl implements UserService {
	private UserDao userDao;
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao; 
	}
	public void say() {
		// TODO Auto-generated method stub
        this.userDao.say();
        System.out.println("userService say hello World!");
	}

}

3,在配置文件applicationContext.xml中,创建一个id为userService的Bean,该Bean用于实例化UserServiceImpl类的信息,并将userDao的实例注入到userService中。(左边会出现红色的❌,但是不影响程序运行)

<?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
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    <bean id="userDao" class="com.itheima.ioc.UserDaoImpl">
        <!-- collaborators and configuration for this bean go here -->
    </bean>
    <bean id="userService" class="com.itheima.ioc.UserServicelmpl">
       <property name="userDao" ref ="userDao"></property>
        <!-- collaborators and configuration for this bean go here -->
    </bean>
</beans>

 

4.在com.itheima.ioc包中,创建测试类TestDI,来对程序进行测试。

package com.itheima.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestDl {

	public static void main(String[] args) {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService) applicationContext.getBean("userService");
		userService.say();
	}

}

控制台输出结果:

 

总结:Spring框架的7大优点

 Spring具有简单、可测试和松耦合等特点。Spring不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中。

 

 

发布了376 篇原创文章 · 获赞 172 · 访问量 9万+

추천

출처blog.csdn.net/Eider1998/article/details/104120418