一。引入jar包
spring.jar commons-loggion-1.0.4.jar
二。springIOC,是把一个对象注入到另一个对象。
处理接口
package com.job.dao;
import com.job.model.User;
public interface UserDAO {
public void save(User u);
}
接口实现
package com.job.dao;
import com.job.model.User;
public class UserDAOImpl implements UserDAO{
@Override
public void save(User u) {
System.out.println(u.getUsername()+"---haha!");
}
}
服务层
public class UserService {
private UserDAO userDAO;
public void add(User u){
this.userDAO.save(u);
}
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
}
实体类
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
spring的application.xml配置(使用set方法注入)
<?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"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="userService" class="com.job.service.UserService" lazy-init="true">
<!-- 使用setter方法注入对象属性值 -->
<property name="userDAO" ref="userDAOImpl"></property>
</bean>
<bean id="userDAOImpl" class="com.job.dao.UserDAOImpl" lazy-init="true">
</bean>
</beans>
测试
public class UserServiceTest {
@Test
public void test(){
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service = (UserService)ac.getBean("userService");
User u = new User();
u.setUsername("me haha ");
service.add(u);
}
}
ClassPathXmlApplicationContext方法不写路径,则默认读取项目根路径src下applicationContext.xml文件
测试结果
引用
me haha ---haha!
-----------------------------------------------------------------
使用构造方法注入属性值
一。在服务层加入构造方法
public class UserService {
private UserDAO userDAO;
public UserService(UserDAO userDAO) {
super();
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
}
二。配置applicationContext.xml
<bean id="userService" class="com.job.service.UserService" lazy-init="true">
<!-- 使用构造方法注入对象属性值 -->
<constructor-arg ref="userDAOImpl"></constructor-arg>
</bean>
<bean id="userDAOImpl" class="com.job.dao.UserDAOImpl" lazy-init="true">
</bean>
<bean id="userService" class="com.job.service.UserService" lazy-init="true" scope="prototype">
scope不加,默认为singleton单例。prototype表示以第一个为原型创建一个
<constructor-arg ref="userDAOImpl" index="0" type="int" value="11" ></constructor-arg>
index表示第几个参数,type表示参数类型,value表示如果是基本类型则转化成对应类型
分享到:
相关推荐
搭建Spring开发环境 Bean的常用配置 三种模式实现依赖(以service调用dao举例) 在serivce里面的类创建dao里面类的对象,调用方法 用工厂模式实现,service先通过工厂创建出来的dao,再调用其方法(面向接口编辑)...
3. **服务端java**:"CXF&spring初体验【服务端java】"可能会包含具体的Java代码示例,展示如何在Spring容器中定义服务接口和实现,以及如何利用CXF的注解来声明服务元数据。 客户端的实现则涉及到如何调用服务端的...
"头歌Spring Boot初体验"可能是一个文档,旨在引导初学者入门Spring Boot的世界。下面我们将深入探讨Spring Boot的核心特性和如何开始使用它。 1. **简介** Spring Boot是基于Spring框架构建的应用程序的快速启动...
《Spring for Android初体验》 在移动开发领域,Android开发者通常使用Java或Kotlin进行应用构建,但随着技术的发展,Spring框架也开始涉足Android世界。Spring for Android是Spring.io推出的一个库,旨在帮助...
这个"spring-security初体验demo"很可能是为了帮助初学者理解如何在实际项目中集成和配置Spring Security。下面,我们将深入探讨Spring Security的核心概念、工作原理以及如何通过实践来设置一个简单的示例。 ...
Spring Cloud是一个分布框架 Spring Cloud里边包括了目前最新的所有组件共21个
此文章是记录博主在学习springsecurity时的笔记 第一步 创建一个SpringBoot工程,勾选上需要的依赖。 第二步 创建一个名为securityconfig的配置类,该类基础了父类WebSecurityConfigurerAdapter(提供用于创建...
《手写Spring V1.0版本的初体验》 在IT行业中,深入理解框架的内部原理对于提升开发技能至关重要。Spring作为Java领域的主流框架,其设计理念和实现方式一直是开发者们热衷探讨的话题。本预习资料的目标是带领具有1...
Boot入门初体验是一门针对初学者准备的课程,讲解了如何一步一步进入Spring?Boot开发,课程采用循序渐进的方式,一个知识点一个知识点的讲解和学习,让初学者不知不觉的掌握各种开发技能,课程包含了主流框架搭建、...
数学建模 《Spring_Boot入门初体验》_视频教程_-_示例项目源代码。_SBTest.zip
通过"头歌springboot初体验.pdf"这份文档,你可能会学习如何创建一个基本的Spring Boot项目,了解Maven或Gradle的配置,编写第一个"Hello, World!"程序,理解自动配置的工作原理,并逐步接触Spring Boot的其他特性。...
SpringBoot+SpringSecurity+jwt整合详解 SpringBoot是当前最流行的Java框架之一,它提供了便捷的方式来构建基于Web的应用程序。然而,在构建Web应用程序时,安全性是不可忽视的重要方面。因此,本文将详细介绍如何...
《手写Spring V1.0版本:从300行代码理解核心机制》 Spring框架作为Java企业级应用开发中的重要支柱,其设计理念和实现方式一直是开发者深入学习的重点。通过手写Spring V1.0版本的代码,我们可以从实践中更好地...
Spring Cloud CLI 是Spring Cloud生态体系中的一个重要工具,它基于Spring Boot CLI扩展而来,为开发者提供了一种便捷的方式来管理和操作Spring Cloud的各种微服务组件。本文将深入探讨Spring Cloud CLI的使用和功能...
02.Spring Security 初体验 03.基于内存定义 Spring Security 用户 04.Spring Security 自定义表单登录 05.Spring Security 登录表单配置细节 06.Spring Security 表单登录源码 07.Spring Security 中的 JSON 交互 ...
在初体验部分,博主可能会介绍如何设置Acegi以保护一个简单的Spring应用,包括配置Spring XML文件、定义安全拦截器(filter)以及创建用户凭证。 身份验证过程通常涉及用户登录,Acegi支持多种认证方式,如基于表单...
总之,这个压缩包提供了使用Maven和IDEA 2023.3开发Spring Boot应用的初步体验,涵盖了从项目结构、依赖管理、数据库连接到实际业务代码编写和测试的各个环节。对于想要学习或已经在使用Spring Boot的开发者来说,这...
在"Spring MVC 实战学习系列(一)初体验"中,我们可能首先会接触如何搭建Spring MVC的基本环境。这通常涉及到以下几个步骤: 1. 引入依赖:在项目中添加Spring MVC的依赖,例如在Maven的pom.xml文件中引入spring-...
在本篇关于“Web基础——WebApp之初体验(三)”的文章中,我们将深入探讨Web应用程序(WebApp)的关键概念和技术,以及它们如何为用户提供便捷的在线体验。WebApp是互联网技术的重要组成部分,它们允许用户在浏览器...