El marco principal núcleo primavera es DI (inyección de dependencias) y AOP (Aspect Oriented Programming), con el grano para administrar objetos, la habilitación de acoplamiento flexible, aumenta la flexibilidad, y ahora para el xml muelle principal formas de aprendizaje y anotaciones manera posibles notas forma más utilizada, pero también más conveniente. Aquí se utiliza XML y anotaciones manera de escribir el primer programa de primavera!
A manera xml
- coordenadas de referencia del proyecto Maven
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 面向切面模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 管理Bean -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 处理上下文的 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 第三方日志 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<!-- SpEL表达式 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
</dependencies>
- Hola
public class Hello {
public void hellos(){
System.out.println("hello Spring");
}
}
- applicationContex.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"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--使用Spring中的容器来创建对象-->
<bean id="hello" class="com.itt.entity.Hello">
</bean>
</beans>
- TestApp
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Hello hello = applicationContext.getBean("hello", Hello.class);
hello.hellos();
}
nota:
archivo de configuración de gestión de clase dos:
ClassPathXmlApplicationContext: para la carga de la ruta de clase (ruta de clases, src) bajo xml especificado.
FileSystemXmlApplicationContext: para la carga especifica la letra de unidad xml bajo.
- El resultado:
Segundo, la manera notas
- coordenadas de referencia del proyecto Maven
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 面向切面模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 管理Bean -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 处理上下文的 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- 第三方日志 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<!-- SpEL表达式 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
</dependencies>
- Persona
package com.itt.entity;
public class Person {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public Person() {
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
}
- MyConfig
//告诉Spring这是一个配置类
@Configuration
public class MyConfig {
//给容器中注册一个bean并赋值,默认按类名访问(注意:小写类名)
@Bean
public Person person(){
return new Person("zs",18);
}
}
- TestApp
public static void main(String[] args) {
//AnnotationConfigApplicationContext:注解扫描配置对应的配置类
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MyConfig.class);
//从容器中取出对应的Bean对象
Person person = applicationContext.getBean("Person", Person.class);
System.out.println(person);
}
- Los resultados operativos