1:spring ioc bean注解
在类上使用@Component注解,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符。
@Component("component")
public class TestCompoment {
@Autowired
private ApplicationContext ctx;
public ApplicationContext getCtx() {
return ctx;
}
}
同类型的还有@Service在业务层,@Controller在表现层,@Repository在dao层
@Service("testService") //括号中表示实例的名称
public class TestServiceImpl {
@Autowired
@Qualifier("testHibernateDao") //@Qualifier 注释指定注入 Bean 的名称,这样歧义就消除了
private TestHibernateDaoImpl dao;
public TestHibernateDaoImpl getDao() {
return dao;
}
}
@Autowired暴露的required属性,这是承担着依赖性检查任务的重要属性。默认时,凡是应用了@Autowired注解的属性和方法都必须找到合适的协作者,否则DI容器会抛出异常,通过调整required属性取值能够改变这一行为@Autowired注解能够作用于构建器、属性、方法。这里的方法不局限于设值方法,即setter方法,常见的各种方法都可以应用这一注解。
@Autowired(required=false) //required表示不对检查
private TestBean2 testBean2;
@Autowired
private TestBean3 testBean3;
@Autowired注解的required属性设置为false时,即使未找到合适的协作者,异常都始终不会被抛出。
2:spring mvc注解
@Controller//表现层注解生成对象
public class RestController {
public RestController(){
}
//映射注解路径为/login 其中{user}表示参数,方式为get
@RequestMapping(value = "/login/{user}", method = RequestMethod.GET)
public ModelAndView myMethod(HttpServletRequest request, HttpServletResponse response,
@PathVariable("user") String user, ModelMap modelMap) throws Exception {
modelMap.put("loginuser", user);
return new ModelAndView("/login", modelMap);
}
@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String registPost() {
return "/welcome";
}
}
@PathVariable("user") String user是url中变量的获取
区别::
@RequestMapping(value="/handle1")
public String handle1(@RequestParam("userName") String userName,
@RequestParam("password") String password,
@RequestParam("realName") String realName){
...
}
@RequestParam("userName")表示获取表单等参数和getparamter一样:
表单数据自动转换对象的参数
所谓命令/表单对象并不需要实现任何接口,仅是一个拥有若干属性的POJO。Spring MVC按:“HTTP请求参数名 = 命令/表单对象的属性名”
的规则,自动绑定请求数据,支持“级联属性名”,自动进行基本类型数据转换
@RequestMapping(value = "/login")
public String handle14(User user) {
…
}
表单和User类之间的关系:输入的
userName=xxx&password=yyy
----------------》
class User{
private String userName;
private String password;
}
分享到:
相关推荐
例如,`SpringIOC`目录中的配置文件(如`applicationContext.xml`)用于定义bean的定义和它们之间的依赖关系。通过XML或注解方式声明bean,Spring可以自动管理bean的实例化、初始化和销毁,从而简化了代码并提高了可...
总结,Spring的IOC和MVC设计模式是现代Java应用开发的基石,它们极大地提高了代码的可维护性和灵活性。通过构建自己的mySpring框架,我们不仅能掌握这两个核心概念,还能提升对软件设计模式的运用能力。
在传统的软件设计中,对象的创建和依赖关系的维护通常由代码自身来完成,而在Spring Ioc中,这些控制权被反转给了Spring容器,使得对象的生命周期管理和依赖注入变得更为灵活和可扩展。 **一、控制反转(IoC)概念*...
Spring 框架是 Java 开发中的一个核心框架,它主要由 AOP(面向切面编程)、IOC(控制反转)和 MVC(模型-视图-控制器)三大组件构成。这三大组件是 Spring 提供的强大功能的核心,使得开发更加高效、灵活。 **1. ...
Spring框架是Java开发中不可或缺的一部分,它为开发者提供了强大的依赖注入(IOC)和面向切面编程(AOP)功能,以及用于构建Web应用程序的MVC框架。Spring Boot则是基于Spring框架构建的应用程序启动器,旨在简化...
【标题】"自己动手实现IOC和MVC源码"揭示了本文的核心内容,即通过实践来理解并构建IoC(Inversion of Control)和MVC(Model-View-Controller)这两种重要的软件设计模式的源代码。这两者是现代Java Web开发中...
3. **注解驱动的Spring MVC**:使用@Controller、@RequestMapping等注解来定义控制器及URL映射。 4. **Spring JDBC Template的使用**:如何配置JdbcTemplate,编写SQL查询,处理结果集。 5. **事务管理**:Spring...
**基于JPA+Hibernate+Spring+Spring MVC注解方式项目详解** 在现代Java Web开发中,Spring框架扮演了核心角色,而Spring MVC作为其MVC(Model-View-Controller)实现,提供了强大的Web应用程序构建能力。同时,JPA...
Spring 提供了两种主要的 IOC 实现方式:基于 XML 的配置和基于注解的配置。在 XML 配置中,我们会在一个或多个 XML 文件中定义 Bean 及它们的依赖关系。例如: ```xml ``` 在上面的例子中,`exampleBean` 的...
控制反转(IOC)是Spring框架的核心设计理念,它将对象的创建和管理权从代码中剥离出来,交由Spring容器负责。这样做的好处是解耦了应用代码与对象的生命周期管理,使得程序更易于测试和维护。 Spring实现IOC的方式...
在这个示例源码中,我们可以深入理解并学习如何在实际项目中运用Spring的IOC容器来管理对象的生命周期和依赖关系。 1. **Spring 框架介绍** Spring是一个开源的Java平台,它提供了全面的企业级应用开发解决方案,...
在开发 Flex 应用程序时,Spring Actionscript IOC 框架和 Cairngorm MVC 模式结合使用,可以显著提升代码的可维护性和可扩展性。Spring Actionscript 是一个针对 Actionscript3 设计的轻量级框架,其灵感来源于 ...
Spring 框架是Java开发中的一个核心组件,主要用于实现依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IOC)。在这个简单的记录中,我们将深入理解Spring如何实现IOC的流程,以及...
Spring 框架是 Java 开发中的核心工具之一,它为开发者提供了强大的依赖注入(IOC)和面向切面编程(AOP)功能,同时也包含了 MVC 模式来支持 web 应用开发。在这个"手写 spring 框架 ioc+aop+mvc"的项目中,我们将...
Spring IoC 容器通过 XML 配置文件或注解方式实现对象的初始化和依赖注入。开发者可以定义bean的配置,如类名、属性值等,并声明bean之间的依赖关系。容器根据这些配置信息创建并管理bean,自动完成对象的实例化和...
这个库可能包含了一些桥接代码,帮助开发者将Spring的IoC(Inversion of Control,控制反转)和AOP功能与Struts的MVC架构结合在一起,使得在基于Struts的项目中可以利用Spring的优点。 "spring-webmvc.jar"则是...
总之,Spring_IOC_.pdf文档应该是对Spring框架中IOC特性的深入讲解,对于理解和掌握Spring框架的使用至关重要。通过学习这份文档,读者可以更好地理解如何利用Spring IOC来设计和构建松耦合、可维护的Java应用。
- **依赖注入(Dependency Injection, DI)**: Spring通过构造器注入、设值注入或者接口注入的方式,将对象的依赖关系以声明式的方式定义在配置文件或注解中,由Spring容器负责实例化和组装Bean。 - **AOP(面向切...