Spring 的XML注入和注解注入混合使用
2019-02-15 15:25
316 查看
Spring 的XML注入和注解注入混合使
方式 | 优点 |
---|---|
XML | 结构清晰易于阅读 |
Annotation | 开发便捷,注入方便 |
- 引入context命名空间
- 在配置文件中添加context:annotation-config标签
- XML管理类,注解进行属性注入
下面通过代码演示
文件目录
diDemo - src - - main - - - java - - - - com.zhangxin9727 - - - - - Persion.java - - - - - Cat.java - - - resources - - - - applicationContext.xml - - test - - - java - - - - MyTest.java - pom.xml
详细代码
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"> <modelVersion>4.0.0</modelVersion> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <groupId>com.zhangxin9727</groupId> <artifactId>diDemo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.4.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.4.RELEASE</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> </dependencies> </project>
Person.java
package com.zhangxin9727; import org.springframework.beans.factory.annotation.Value; import javax.annotation.Resource; public class Person { @Value("Alice") private String name; @Resource(name="cat") private Cat cat; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", cat=" + cat + '}'; } }
Cat.java
package com.zhangxin9727; import org.springframework.beans.factory.annotation.Value; public class Cat { @Value("Kitty") private String name; @Override public String toString() { return "Cat{" + "name='" + name + '\'' + '}'; } }
applicationContext.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> <bean id="person" class="com.zhangxin9727.Person"/> <bean id="cat" class="com.zhangxin9727.Cat"/> </beans>
MyTest.java
import com.zhangxin9727.Person; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { @Test public void test() { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Person person = (Person) context.getBean("person"); System.out.println(person); } }
相关文章推荐
- spring的xml配置与annotation注解混合使用无法Autowired的问题
- 关于spring中注解和xml混合使用
- 关于spring中注解和xml混合使用
- Spring通过XML配置c3p0连接池和dao层注解注入使用 jdbcTemplate
- Spring基于注解和XML混合方式的使用
- spring3 混合使用 XML 与注解(Annotation)进行 Bean 的配置
- spring3 混合使用 XML 与注解(Annotation)进行 Bean 的配置
- Spring的bean管理(注解注入属性和注解文件混合使用)
- Spring框架 注解annotation和配置文件混合使用(生成对象与属性注入) xml配置文件没有提示解决
- spring 注入使用注解(不用xml)
- spring通过注解依赖注入和获取xml配置混合的方式
- Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea
- spring中注解和xml混合使用
- action控制层,使用spring注解方式注入业务bean报空指向错误
- spring使用注解@PostConstruct的xml配置
- Spring基础入门五:基于XML和注解的Spring的AOP使用
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(一):消除hibernate中<mapping resouce 的xxxx. hbm.xml文件
- hessian与spring的完美结合(使用spring注解自动注入bean)
- spring框架,可以没有spring.xml(即配置<beans>的文件吗?即不使用xml方式配置,而是只使用注解的方式配置
- Spring学习-13:Spring的XML和注解的结合使用