裸奔Spring

Posted 菜菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了裸奔Spring相关的知识,希望对你有一定的参考价值。

技术分享

pom.xml

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.test</groupId>
	<artifactId>spring</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>
	<developers>
		<developer>
			<id>zzzz</id>
			<name>caicai</name>
			<email>[email protected]</email>
			<organization>ShuWang Software, Inc.</organization>
			<organizationUrl>www.shuwang.info</organizationUrl>
			<roles>
				<role>
					Project Lead
				</role>
			</roles>
		</developer>
	</developers>
	<properties>
		<spring.version>4.2.3.RELEASE</spring.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<!-- 
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		 -->
	</dependencies>
	<build>
		<finalName>spring</finalName>
		<sourceDirectory>src/main/java</sourceDirectory>
		<outputDirectory>target/classes</outputDirectory>
		<resources>
			<resource>
				<filtering>true</filtering>
				<directory>
					src/main/resources
				</directory>
				<includes>
					<include>**/application.properties</include>
					<include>**/application.yml</include>
				</includes>
			</resource>
		</resources>
	</build>
</project>

  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>spring</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <context-param>
 	<param-name>contextConfigLocation</param-name>
 	<param-value>WEB-INF/application.xml</param-value>
  </context-param>
  <listener>
  	<description>springWebContextLoaderListener</description>
  	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

  application.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:component-scan base-package="com.jiangchong.test"/>
</beans>

  测试用的jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="org.springframework.web.context.WebApplicationContext"%>
<html>
<body>
	<h2>Hello World!</h2>
	<h3>
	<%
	WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
	String get = (String)wac.getBean("get");
	out.println(get);
	%>
	</h3>
</body>
</html>

  TestTest.class

package com.jiangchong.test;


import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TestTest implements InitializingBean
{
	@Autowired
	String get;

	public void afterPropertiesSet() throws Exception
	{
		System.out.println(get);
	}
	
	@Bean
	public TestTest list()
	{
		return new TestTest();
	}
}

  Test.class

package com.jiangchong.test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class Test
{
	@Bean
	public String get()
	{
		return new String("test");
	}

}

  至此把Web容器和Spring关联起来了,看不懂面墙去

以上是关于裸奔Spring的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 保护敏感配置的 4 种方法,让你的系统不再裸奔。。。

Spring Boot 保护敏感配置的 4 种方法,让你的系统不再裸奔。。。

Spring Boot 保护敏感配置的 4 种方法,让你的系统不再裸奔!!

Spring Boot 保护敏感配置的 4 种方法,让你的系统不再裸奔!!

代码混淆,不再让生产环境代码裸奔

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段