SpringBoot应用(一)---基本使用

非web环境使用

pom文件为:

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.hurricane.learn</groupId>
	<artifactId>springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>


	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.0.1.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>

	</build>
</project>

java文件:

package com.hurricane.learn.springboot.standard;

import java.util.Arrays;
import java.util.Map;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;

import com.hurricane.learn.springboot.standard.config.annotation.EnableLog;
import com.hurricane.learn.springboot.standard.dao.UserDao;
import com.hurricane.learn.springboot.standard.entity.Product;
import com.hurricane.learn.springboot.standard.entity.User;


/**
 * springBoot的简单使用
 * @author Administrator
 *
 */
@SpringBootApplication
public class App {
	
	
	public static void main(String[] args) {
//		运行方式一
//		SpringApplication application = new SpringApplication(App.class);
//		ConfigurableApplicationContext context = application.run(args);
//		运行方式二,其实两种方式运行一样
		ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
		String[] beanNamesForType = context.getBeanNamesForType(User.class);
		System.out.println(Arrays.asList(beanNamesForType));
		Map<String, UserDao> beansOfType = context.getBeansOfType(UserDao.class);
		System.out.println(beansOfType);
		context.close();
	}
	
	@Bean
	public Runnable createRunnable() {
		return ()->{};
	}
	@Bean
	public User createUser() {
		return new User();
	}
	
}
@SpringBootApplication注解是多个注解的集合,包括(@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan等),因此上面的App类实际上可以作为一个配置类来使用(在类的内部方法上可以通过@Bean注解来讲bean放到spring的容器中进行管理),App类通常位于包的比较顶层,因为会springboot会自动扫描App当前包及其子包下的Spring注解如(@Component,@Service等)


web环境使用

pom文件为:

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.hurricane.learn</groupId>
	<artifactId>springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.0.1.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

java文件为:

package com.hurricane.learn.springboot.web;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
	
	public static void main(String[] args) {
		SpringApplication application = new SpringApplication(App.class);
		application.run(args);
	}
}

默认使用tomcat启动在8080端口,可以使用application.propertis文件进行配置。关于application.properties文件中的具体配置项,可以参考官方文档:

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#appendix

为了将servlet、filter、listener等web基本组件引入到springboot的环境之中,可以使用@ServletComponentScan注解。如:

package com.hurricane.learn.springboot.web;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan
public class App {
	
	public static void main(String[] args) {
		SpringApplication application = new SpringApplication(App.class);
		application.run(args);
	}
}

参考网址:

            https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/

代码的github地址:

            https://github.com/hurricane123/multi/tree/master/springboot





猜你喜欢

转载自blog.csdn.net/hurricane_li/article/details/80665997