spring框架

Spring@Autowired注解与自动装配

荒凉一梦 提交于 2020-02-15 15:02:58
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java [java] view plain copy print ? package com.baobaotao; public class Boss { private Car car; private Office office; // 省略 get/setter @Override public String toString() { return "car:" + car + "/n" + "office:" + office; } } package com.baobaotao; public class Boss { private Car car; private Office office; // 省略 get/setter @Override public String toString() { return "car:" + car + "/n" + "office:" + office; } } System.out.println必须实现toString方法 我们在 Spring 容器中将

Spring框架学习-搭建第一个Spring项目

て烟熏妆下的殇ゞ 提交于 2020-02-15 08:16:27
步骤一:下载Spring开发包。    官网: https://spring.io/ 下载地址: https://repo.spring.io/libs-release-local/org/springframework/spring/       spring-framework-3.0.2.RELEASE-dependencies和spring-framework-4.2.4.RELEASE-dist 解压第二个,解压目录:      步骤二:搭建项目,引入Spring项目    创建项目:由于Spring是JavaSE/EE一站式框架,所以既可以创建web项目或者java项目,这里创建web项目。 导入jar:Spring框架搭建肯定需要核心包,上面Core Container里面四个就是核心,其他的,需要什么功能添加哪个jar,在libs里面找。还有spring已经弄好的日志记录包,在dependencies里面log4j和commons包下 步骤三:引入相关配置文件(在src下创建) log4j.properties ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System

Spring框架配置beans.xml

青春壹個敷衍的年華 提交于 2020-02-15 01:04:38
Spring学习笔记(一) 一、Spring 框架 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring框架由 七个模块 组成:核心容器、应用上下文(Context)模块、Spring的AOP模块、JDBC抽象和DAO模块、对象/关系映射集成模块、Spring的Web模块、Spring的MVC框架。 介绍传送门--> http://baike.baidu.com/link?url=ZMgPopo8CSuxoq4cxxCjy600WLc07HP9K4ej4wI4Z07jpfyt82RlOk1MimelYU_tZwn9OyLE_dQVlXNzDm_Fba 、 二、关于学习Spring框架之前自身的疑惑 1 Spring框架是如何对项目进行有效管理的? 三、学习开始 3.1 准备好Spring的说明书 http://docs.spring.io/spring/docs/ 3.2 准备Spring的JAR包 spring-framework-3.0.0.RELEASE 3.3 先写一点测试代码(不使用Spring框架),然后再引入Spring框架进行管理,对比前后者代码的不同之处 测试代码逻辑: 1 UserServiceImpl调用

Spring MVC

陌路散爱 提交于 2020-02-14 17:59:33
什么是Spring MVC? SpringMVC是一种Web层MVC框架,该框架简化了传统Java Web开发:传统Java Web开发中一个模块需要定义多个Servlet类,且接收请求中数据时需要调用诸如getParameter方法;而SpringMVC中一个模块只需一个Controller类即可。 1.这里先用最初的方法: (1)index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="./userinfo/toView.do">链接</a> </body> </html> 这里点击链接发送请求、 (2)web.xml <?xml version="1.0"

Spring MVC 配置类 WebMvcConfigurerAdapter

流过昼夜 提交于 2020-02-14 14:51:59
WebMvcConfigurerAdapter配置类是spring提供的一种配置方式,采用JavaBean的方式替代传统的基于xml的配置来对spring框架进行自定义的配置。因此,在spring boot提倡的基于注解的配置,采用“约定大于配置”的风格下,当需要进行自定义的配置时,便可以继承WebMvcConfigurerAdapter这个抽象类,通过JavaBean来实现需要的配置。 WebMvcConfigurerAdapter是一个抽象类,它只提供了一些空的接口让用户去重写,比如如果想添加拦截器的时候,需要去重写一下addInterceptors()这个方法,去配置自定义的拦截器。我们可以看一下WebMvcConfigurerAdapter提供了哪些接口来供我们使用。 1 public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer { 2 /*配置路径匹配参数*/ 3 public void configurePathMatch(PathMatchConfigurer configurer) {} 4 /*配置Web Service或REST API设计中内容协商,即根据客户端的支持内容格式情况来封装响应消息体,如xml,json*/ 5 public void

SpringBoot与Redis缓存管理

女生的网名这么多〃 提交于 2020-02-14 10:54:34
这篇博客是前面 https://www.cnblogs.com/shijinglu2018/p/12258646.html (SpringBoot与MyBatis/Redis整合)的延续。 为什么要使用MyBatis?为什么要使用Redis? 用MyBatis是进行java连接数据库的一种封装和简化,方便去调用,过程中不用过多去手动写如何用反射加载驱动包,如何到数据库中取得数据等,当然不可少的是需要建模和建接口,但是由于MyBaits,所以已经方便很多了; 用Redis的是因当到数据库中取数的时候会频繁地执行某些sql,去数据库中取数之类的操作,同一个操作数据的方法被反复执行,大大降低了效率,所以将其放到缓存,以减少重复执行的效率,如果某个数据访问操作尤其频繁,则该优势更加明显。 SpringBoot缓存注解小结 说明:该注解多有Spring框架提供,SpringBoot框架对这些注解进行了继承。 //... @EnableCaching //开启SpringBoot缓存管理支持 @SpringBootApplication public class RunSpringBootRedis{ public static void main(String[] args) { SpringBootApplication.run(RunSpringBootRedis.class,args)

Spring Boot集成Jasypt安全框架

帅比萌擦擦* 提交于 2020-02-14 07:09:05
Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类。 在Sring 3.1之后,则推荐使用PropertySourcesPlaceholderConfigurer类作为属性替换配置类,这里Spring集成Jasypt则使用Jasypt对属性替换配置类的实现。EncryptablePropertySourcesPlaceholderConfigurer。 在Spring中集成比较容易,而且Jasypt官方也给出了配置Bean的方式和使用Jasypt标签的XML方式,而Spring boot集成就稍微有点不一样,需要创建一个自动配置类,并且创建一个注入PlaceholderConfigurerSupport的jasypt实现了的Bean . 下面是一个使用示例: import org.jasypt.encryption.pbe.StandardPBEByteEncryptor; import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.spring31.properties.EncryptablePropertySourcesPlaceholderConfigurer; import org

SpringBoot源码篇:Spring5内置tomcat实现code-based的web.xml实现

主宰稳场 提交于 2020-02-14 06:19:20
一、简介    上篇文章 讲了SpingBoot诞生的历史背景和技术演进背景,并通过源码说明了SpringBoot是如何实现零配置的包括如何省去web.xml配置的原理。本文接上一篇文章,通过demo演示SpringBoot是如何内置tomcat并实现基于java配置的Servlet初始化和SpringBoot的启动流程。 二、基于java配置的web.xml实现 传统SpringMVC框架web.xml的配置内容 1 <web-app> 2 <!-- 初始化Spring上下文 --> 3 <listener> 4 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 5 </listener> 6 <!-- 指定Spring的配置文件 --> 7 <context-param> 8 <param-name>contextConfigLocation</param-name> 9 <param-value>/WEB-INF/app-context.xml</param-value> 10 </context-param> 11 <!-- 初始化DispatcherServlet --> 12 <servlet> 13 <servlet-name>app<

Spring学习的第二天

╄→гoц情女王★ 提交于 2020-02-14 05:27:19
第二天总共学习了以下内容: spring中的ioc常用注解; 案例使用xml方式和注解方式实现单表的CRUD操作(但还是需要xml配置文件,并不是纯注解的配置); 改造基于注解的Ioc案例,使用纯注解的方式实现,spring的一些新注解的使用; spring和junit的整合; 一、ioc常用注解: 1.1关于创建对象的,就如同xml中的<bean>标签,@Component(用在其他类),@Controller(一般用在表现层的类),@Service(一般用在业务层的类),@Repository(一般用在持久层的类) 1.2关于注入数据的,@AutoWired(自动按类型注入,可以作用在变量上和方法上,可以没有setter方法);           @Qualifier(在按照类型注入的基础上再按照名称注入。它给类成员注入时不能单独使用,需要依赖于@AutoWired,但是在给方法注入时可以,即在形参前面使用,@Qualifier(“xx”));        @Resource(直接按照bean的id进行注入,可以独立使用)     以上三个注解只能注入bean类型的数据,而基本类型的数据和String类型无法使用上述注解实现。另外,集合类型的注入只能通过xml来实现。          @Value(用于注入基本类型和String类型的数据,属性:value

Spring框架(一)

狂风中的少年 提交于 2020-02-13 22:53:38
什么是Spring 框架 ?   Spring 是一个开源框架,它就是一个容器,管理类对象的生命周期.   Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.   Spring 是一个 IOC(DI) 和 AOP 容器框架.    具体描述Spring:   轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API   依赖注入(DI --- dependency injection、IOC):Class A 中用到了 Class B 的对象 b ,一般情况下,需要在 A 的代码中显式的 new 一个 B 的对象。 采用依赖注入技术之后, A 的代码只需要定义一个私有的 B 对象,不需要直接 new 来获得这个对象,而是通过相关的容器控制程序来将 B 对象在外部 new 出来并注入到 A 类里的引用中 面向切面编程(AOP --- aspect oriented programming)   容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期   框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象   一站式:在 IOC 和 AOP