Spring中注入基本类型

简介:

 

HelloWorld.java


package com.xy.Hello;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
 * 该方法Spring容器通过setter方法注入
 * @author xy
 *
 */
public class HelloWorld
{
 public HelloWorld()
 {
  super();
 }

 private String name;
 private Set<String> sets;
 private List<String> lst;
 private Map<String, String> map;
 private Properties pros;

 public void DI()
 {
  System.out.println("-----name------");
  System.out.println("Hello " + name);

  System.out.println("-----sets------");
  for (String s : sets)
  {
   System.out.println(s);
  }

  System.out.println("-----lst------");
  for (String s : lst)
  {
   System.out.println(s);
  }

  System.out.println("-----map------");
  for (String key : map.keySet())
  {
   System.out.println(key + "..." + map.get(key));
  }

  System.out.println("-----pro------");
  for (Object key : pros.keySet())
  {
   System.out.println(key + "..." + pros.getProperty((String) key));
  }
 }

 /***************************** Getter和Setter **************************************/
 
 public String getName()
 {
  return name;
 }

 public void setName(String name)
 {
  this.name = name;
 }

 public Set<String> getSets()
 {
  return sets;
 }

 public void setSets(Set<String> sets)
 {
  this.sets = sets;
 }

 public List<String> getLst()
 {
  return lst;
 }

 public void setLst(List<String> lst)
 {
  this.lst = lst;
 }

 public Map<String, String> getMap()
 {
  return map;
 }

 public void setMap(Map<String, String> map)
 {
  this.map = map;
 }

 public Properties getPros()
 {
  return pros;
 }

 public void setPros(Properties pros)
 {
  this.pros = pros;
 }

}

 

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
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
          
 <bean id="xyhello" class="com.xy.Hello.HelloWorld">
  <property name="name">
   <value>xy</value>
  </property>
  <property name="sets">
   <set>
    <value>set1</value>
    <value>set2</value>
    <value>set3</value>
   </set>
  </property>
  <property name="lst">
   <list>
    <value>lst1</value>
    <value>lst2</value>
    <value>lst3</value>
   </list>
  </property>
  <property name="map">
   <map>
    <entry key="mk1" value="mv1"></entry>
    <entry key="mk2" value="mv2"></entry>
    <entry key="mk3" value="mv3"></entry>
   </map>
  </property>
  <property name="pros">
   <props>
    <prop key="pk1">pv1</prop>
    <prop key="pk2">pv2</prop>
    <prop key="pk3">pv3</prop>
   </props>
  </property>
 </bean>

</beans>

 


TestJunit.java

public class TestJUnit
{
 @Test
 public void test()
 {
  // 启动Spring容器
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

  // 容器中获取类的实例
  HelloWorld hello = (HelloWorld) context.getBean("xyhello");

  // 调用方法
  hello.DI();
 }
}

 

 

目录
相关文章
|
19天前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
69 12
|
22天前
|
Java 应用服务中间件 Maven
SpringBoot项目打包成war包
通过上述步骤,我们成功地将一个Spring Boot应用打包成WAR文件,并部署到外部的Tomcat服务器中。这种方式适用于需要与传统Servlet容器集成的场景。
41 8
|
5月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
437 2
|
2月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
501 17
Spring Boot 两种部署到服务器的方式
|
2月前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
87 17
springboot自动配置原理
|
2月前
|
XML JavaScript Java
SpringBoot集成Shiro权限+Jwt认证
本文主要描述如何快速基于SpringBoot 2.5.X版本集成Shiro+JWT框架,让大家快速实现无状态登陆和接口权限认证主体框架,具体业务细节未实现,大家按照实际项目补充。
130 11
|
2月前
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
677 12
|
3月前
|
Java 数据库连接 Maven
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
自动装配是现在面试中常考的一道面试题。本文基于最新的 SpringBoot 3.3.3 版本的源码来分析自动装配的原理,并在文未说明了SpringBoot2和SpringBoot3的自动装配源码中区别,以及面试回答的拿分核心话术。
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
|
2月前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
54 10